portacode 1.4.16.dev4__tar.gz → 1.4.16.dev6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/PKG-INFO +1 -1
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/_version.py +2 -2
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/connection/handlers/WEBSOCKET_PROTOCOL.md +26 -18
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/connection/handlers/proxmox_infra.py +70 -9
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode.egg-info/PKG-INFO +1 -1
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/.claude/agents/communication-manager.md +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/.claude/settings.local.json +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/.gitignore +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/.gitmodules +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/LICENSE +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/MANIFEST.in +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/Makefile +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/README.md +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/backup.sh +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/connect.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/connect.sh +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/docker-compose.yaml +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/docs/images/device-transfer-button.png +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/docs/images/device-transfer-modal.png +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/docs/images/pair-device-button.png +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/docs/images/pairing-request.png +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/docs/images/student-workspace.png +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/README.md +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/simple_device/Dockerfile +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/simple_device/README.md +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/simple_device/data/device-01/.local/share/portacode/keys/id_portacode +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/simple_device/data/device-01/.local/share/portacode/keys/id_portacode.pub +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/simple_device/docker-compose.yaml +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/Dockerfile +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/README.md +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-01/.local/share/portacode/keys/id_portacode +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-01/.local/share/portacode/keys/id_portacode.pub +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-01/.local/share/portacode/run/gateway.pid +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-01/workspace/.gitignore +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-01/workspace/README.md +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-01/workspace/db.sqlite3 +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-01/workspace/galactic_bakeshop/__init__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-01/workspace/galactic_bakeshop/__pycache__/__init__.cpython-311.pyc +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-01/workspace/galactic_bakeshop/__pycache__/settings.cpython-311.pyc +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-01/workspace/galactic_bakeshop/__pycache__/urls.cpython-311.pyc +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-01/workspace/galactic_bakeshop/__pycache__/wsgi.cpython-311.pyc +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-01/workspace/galactic_bakeshop/asgi.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-01/workspace/galactic_bakeshop/settings.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-01/workspace/galactic_bakeshop/urls.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-01/workspace/galactic_bakeshop/wsgi.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-01/workspace/manage.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-01/workspace/requirements.txt +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-01/workspace/templates/treats/home.html +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-01/workspace/treats/__init__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-01/workspace/treats/__pycache__/__init__.cpython-311.pyc +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-01/workspace/treats/__pycache__/admin.cpython-311.pyc +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-01/workspace/treats/__pycache__/apps.cpython-311.pyc +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-01/workspace/treats/__pycache__/menu.cpython-311.pyc +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-01/workspace/treats/__pycache__/models.cpython-311.pyc +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-01/workspace/treats/__pycache__/urls.cpython-311.pyc +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-01/workspace/treats/__pycache__/views.cpython-311.pyc +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-01/workspace/treats/admin.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-01/workspace/treats/apps.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-01/workspace/treats/menu.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-01/workspace/treats/migrations/__init__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-01/workspace/treats/migrations/__pycache__/__init__.cpython-311.pyc +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-01/workspace/treats/models.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-01/workspace/treats/tests.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-01/workspace/treats/urls.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-01/workspace/treats/views.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-02/.local/share/portacode/keys/id_portacode +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-02/.local/share/portacode/keys/id_portacode.pub +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-02/workspace/README.md +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-02/workspace/galactic_bakeshop/__init__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-02/workspace/galactic_bakeshop/asgi.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-02/workspace/galactic_bakeshop/settings.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-02/workspace/galactic_bakeshop/urls.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-02/workspace/galactic_bakeshop/wsgi.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-02/workspace/manage.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-02/workspace/requirements.txt +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-02/workspace/templates/treats/home.html +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-02/workspace/treats/__init__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-02/workspace/treats/admin.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-02/workspace/treats/apps.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-02/workspace/treats/menu.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-02/workspace/treats/migrations/__init__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-02/workspace/treats/models.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-02/workspace/treats/tests.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-02/workspace/treats/urls.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-02/workspace/treats/views.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-03/.local/share/portacode/keys/id_portacode +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-03/.local/share/portacode/keys/id_portacode.pub +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-03/workspace/README.md +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-03/workspace/galactic_bakeshop/__init__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-03/workspace/galactic_bakeshop/asgi.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-03/workspace/galactic_bakeshop/settings.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-03/workspace/galactic_bakeshop/urls.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-03/workspace/galactic_bakeshop/wsgi.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-03/workspace/manage.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-03/workspace/requirements.txt +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-03/workspace/templates/treats/home.html +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-03/workspace/treats/__init__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-03/workspace/treats/admin.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-03/workspace/treats/apps.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-03/workspace/treats/menu.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-03/workspace/treats/migrations/__init__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-03/workspace/treats/models.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-03/workspace/treats/tests.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-03/workspace/treats/urls.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-03/workspace/treats/views.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-04/.local/share/portacode/keys/id_portacode +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-04/.local/share/portacode/keys/id_portacode.pub +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-04/workspace/README.md +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-04/workspace/galactic_bakeshop/__init__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-04/workspace/galactic_bakeshop/asgi.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-04/workspace/galactic_bakeshop/settings.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-04/workspace/galactic_bakeshop/urls.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-04/workspace/galactic_bakeshop/wsgi.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-04/workspace/manage.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-04/workspace/requirements.txt +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-04/workspace/templates/treats/home.html +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-04/workspace/treats/__init__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-04/workspace/treats/admin.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-04/workspace/treats/apps.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-04/workspace/treats/menu.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-04/workspace/treats/migrations/__init__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-04/workspace/treats/models.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-04/workspace/treats/tests.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-04/workspace/treats/urls.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-04/workspace/treats/views.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-05/.local/share/portacode/keys/id_portacode +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-05/.local/share/portacode/keys/id_portacode.pub +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-05/workspace/README.md +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-05/workspace/galactic_bakeshop/__init__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-05/workspace/galactic_bakeshop/asgi.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-05/workspace/galactic_bakeshop/settings.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-05/workspace/galactic_bakeshop/urls.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-05/workspace/galactic_bakeshop/wsgi.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-05/workspace/manage.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-05/workspace/requirements.txt +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-05/workspace/templates/treats/home.html +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-05/workspace/treats/__init__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-05/workspace/treats/admin.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-05/workspace/treats/apps.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-05/workspace/treats/menu.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-05/workspace/treats/migrations/__init__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-05/workspace/treats/models.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-05/workspace/treats/tests.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-05/workspace/treats/urls.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-05/workspace/treats/views.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-06/.local/share/portacode/keys/id_portacode +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-06/.local/share/portacode/keys/id_portacode.pub +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-06/workspace/README.md +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-06/workspace/galactic_bakeshop/__init__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-06/workspace/galactic_bakeshop/asgi.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-06/workspace/galactic_bakeshop/settings.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-06/workspace/galactic_bakeshop/urls.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-06/workspace/galactic_bakeshop/wsgi.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-06/workspace/manage.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-06/workspace/requirements.txt +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-06/workspace/templates/treats/home.html +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-06/workspace/treats/__init__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-06/workspace/treats/admin.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-06/workspace/treats/apps.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-06/workspace/treats/menu.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-06/workspace/treats/migrations/__init__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-06/workspace/treats/models.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-06/workspace/treats/tests.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-06/workspace/treats/urls.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-06/workspace/treats/views.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-07/.local/share/portacode/keys/id_portacode +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-07/.local/share/portacode/keys/id_portacode.pub +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-07/workspace/README.md +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-07/workspace/galactic_bakeshop/__init__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-07/workspace/galactic_bakeshop/asgi.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-07/workspace/galactic_bakeshop/settings.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-07/workspace/galactic_bakeshop/urls.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-07/workspace/galactic_bakeshop/wsgi.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-07/workspace/manage.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-07/workspace/requirements.txt +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-07/workspace/templates/treats/home.html +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-07/workspace/treats/__init__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-07/workspace/treats/admin.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-07/workspace/treats/apps.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-07/workspace/treats/menu.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-07/workspace/treats/migrations/__init__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-07/workspace/treats/models.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-07/workspace/treats/tests.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-07/workspace/treats/urls.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-07/workspace/treats/views.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-08/.local/share/portacode/keys/id_portacode +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-08/.local/share/portacode/keys/id_portacode.pub +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-08/workspace/README.md +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-08/workspace/galactic_bakeshop/__init__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-08/workspace/galactic_bakeshop/asgi.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-08/workspace/galactic_bakeshop/settings.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-08/workspace/galactic_bakeshop/urls.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-08/workspace/galactic_bakeshop/wsgi.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-08/workspace/manage.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-08/workspace/requirements.txt +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-08/workspace/templates/treats/home.html +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-08/workspace/treats/__init__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-08/workspace/treats/admin.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-08/workspace/treats/apps.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-08/workspace/treats/menu.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-08/workspace/treats/migrations/__init__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-08/workspace/treats/models.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-08/workspace/treats/tests.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-08/workspace/treats/urls.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-08/workspace/treats/views.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-09/.local/share/portacode/keys/id_portacode +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-09/.local/share/portacode/keys/id_portacode.pub +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-09/workspace/README.md +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-09/workspace/galactic_bakeshop/__init__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-09/workspace/galactic_bakeshop/asgi.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-09/workspace/galactic_bakeshop/settings.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-09/workspace/galactic_bakeshop/urls.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-09/workspace/galactic_bakeshop/wsgi.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-09/workspace/manage.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-09/workspace/requirements.txt +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-09/workspace/templates/treats/home.html +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-09/workspace/treats/__init__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-09/workspace/treats/admin.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-09/workspace/treats/apps.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-09/workspace/treats/menu.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-09/workspace/treats/migrations/__init__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-09/workspace/treats/models.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-09/workspace/treats/tests.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-09/workspace/treats/urls.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-09/workspace/treats/views.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-10/.local/share/portacode/keys/id_portacode +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-10/.local/share/portacode/keys/id_portacode.pub +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-10/workspace/README.md +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-10/workspace/galactic_bakeshop/__init__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-10/workspace/galactic_bakeshop/asgi.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-10/workspace/galactic_bakeshop/settings.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-10/workspace/galactic_bakeshop/urls.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-10/workspace/galactic_bakeshop/wsgi.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-10/workspace/manage.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-10/workspace/requirements.txt +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-10/workspace/templates/treats/home.html +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-10/workspace/treats/__init__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-10/workspace/treats/admin.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-10/workspace/treats/apps.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-10/workspace/treats/menu.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-10/workspace/treats/migrations/__init__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-10/workspace/treats/models.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-10/workspace/treats/tests.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-10/workspace/treats/urls.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/data/student-10/workspace/treats/views.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/docker-compose.yaml +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/initial_content/README.md +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/initial_content/galactic_bakeshop/__init__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/initial_content/galactic_bakeshop/asgi.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/initial_content/galactic_bakeshop/settings.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/initial_content/galactic_bakeshop/urls.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/initial_content/galactic_bakeshop/wsgi.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/initial_content/manage.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/initial_content/requirements.txt +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/initial_content/templates/treats/home.html +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/initial_content/treats/__init__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/initial_content/treats/admin.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/initial_content/treats/apps.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/initial_content/treats/menu.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/initial_content/treats/migrations/__init__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/initial_content/treats/models.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/initial_content/treats/tests.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/initial_content/treats/urls.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/initial_content/treats/views.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/examples/workshop_fleet/instructions/WELCOME.md +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/README.md +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/__init__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/__main__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/cli.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/connection/README.md +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/connection/__init__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/connection/client.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/connection/handlers/README.md +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/connection/handlers/__init__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/connection/handlers/base.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/connection/handlers/chunked_content.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/connection/handlers/diff_handlers.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/connection/handlers/file_handlers.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/connection/handlers/project_aware_file_handlers.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/connection/handlers/project_state/README.md +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/connection/handlers/project_state/__init__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/connection/handlers/project_state/file_system_watcher.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/connection/handlers/project_state/git_manager.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/connection/handlers/project_state/handlers.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/connection/handlers/project_state/manager.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/connection/handlers/project_state/models.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/connection/handlers/project_state/utils.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/connection/handlers/project_state_handlers.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/connection/handlers/registry.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/connection/handlers/session.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/connection/handlers/system_handlers.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/connection/handlers/tab_factory.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/connection/handlers/terminal_handlers.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/connection/handlers/test_proxmox_infra.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/connection/handlers/update_handler.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/connection/multiplex.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/connection/terminal.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/data.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/keypair.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/link_capture/__init__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/link_capture/__pycache__/__init__.cpython-311.pyc +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/link_capture/bin/__pycache__/link_capture_wrapper.cpython-311.pyc +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/link_capture/bin/elinks +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/link_capture/bin/gio-open +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/link_capture/bin/gnome-open +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/link_capture/bin/gvfs-open +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/link_capture/bin/kde-open +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/link_capture/bin/kfmclient +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/link_capture/bin/link_capture_exec.sh +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/link_capture/bin/link_capture_wrapper.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/link_capture/bin/links +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/link_capture/bin/links2 +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/link_capture/bin/lynx +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/link_capture/bin/mate-open +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/link_capture/bin/netsurf +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/link_capture/bin/sensible-browser +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/link_capture/bin/w3m +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/link_capture/bin/x-www-browser +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/link_capture/bin/xdg-open +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/logging_categories.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/pairing.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/service.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/static/js/test-ntp-clock.html +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/static/js/utils/ntp-clock.js +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/utils/NTP_ARCHITECTURE.md +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/utils/__init__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/utils/diff_apply.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/utils/diff_renderer.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/utils/ntp_clock.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode.egg-info/SOURCES.txt +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode.egg-info/dependency_links.txt +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode.egg-info/entry_points.txt +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode.egg-info/requires.txt +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode.egg-info/top_level.txt +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/pyproject.toml +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/restore.sh +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/run_tests.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/setup.cfg +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/setup.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/test.sh +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/test_modules/README.md +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/test_modules/__init__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/test_modules/test_device_online.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/test_modules/test_file_operations.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/test_modules/test_git_status_ui.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/test_modules/test_login_flow.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/test_modules/test_navigate_testing_folder.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/test_modules/test_play_store_screenshots.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/test_modules/test_terminal_buffer_performance.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/test_modules/test_terminal_interaction.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/test_modules/test_terminal_loading_race_condition.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/test_modules/test_terminal_start.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/test_request_id.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/testing_framework/.env.example +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/testing_framework/README.md +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/testing_framework/__init__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/testing_framework/cli.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/testing_framework/core/__init__.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/testing_framework/core/base_test.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/testing_framework/core/cli_manager.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/testing_framework/core/hierarchical_runner.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/testing_framework/core/playwright_manager.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/testing_framework/core/runner.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/testing_framework/core/shared_cli_manager.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/testing_framework/core/test_discovery.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/testing_framework/requirements.txt +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/todo/UI_UX/opening_a_file_on_desktop_results_in_nothing.md +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/todo/agent_context_management.md +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/todo/django_server_time_sync.md +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/todo/issues/device_performance_degradation.md +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/todo/issues/git_data_not_captured_in_proxmox.md +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/todo/issues/indefinite_resource_loading.md +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/todo/issues/portacode_service_silently_down.md +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/todo/issues/premature_terminal_exit.md +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/todo/issues/project_cpu_hotspots.md +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/todo/issues/terminals_exit_upon_starting.md +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/todo/issues/wrong_item_classification_on_client_side.md +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/todo/smartphone_terminal_input_frustrations.md +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/tools/generate_play_store_assets.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/tools/pairing_tester.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/tools/run_screenshot_suite.sh +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/tools/test_python_ntp_clock.py +0 -0
- {portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/validate.sh +0 -0
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '1.4.16.
|
|
32
|
-
__version_tuple__ = version_tuple = (1, 4, 16, '
|
|
31
|
+
__version__ = version = '1.4.16.dev6'
|
|
32
|
+
__version_tuple__ = version_tuple = (1, 4, 16, 'dev6')
|
|
33
33
|
|
|
34
34
|
__commit_id__ = commit_id = None
|
{portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/connection/handlers/WEBSOCKET_PROTOCOL.md
RENAMED
|
@@ -1146,24 +1146,32 @@ Provides system information in response to a `system_info` action. Handled by [`
|
|
|
1146
1146
|
* `vmid` (string|null): Numeric CT ID.
|
|
1147
1147
|
* `hostname` (string|null): Hostname configured in the CT.
|
|
1148
1148
|
* `template` (string|null): Template identifier used.
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
* `
|
|
1157
|
-
|
|
1158
|
-
* `
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1149
|
+
* `storage` (string|null): Storage pool backing the rootfs.
|
|
1150
|
+
* `disk_gib` (integer): Rootfs size in GiB.
|
|
1151
|
+
* `ram_mib` (integer): Memory size in MiB.
|
|
1152
|
+
* `cpu_share` (number): vCPU-equivalent share requested at creation.
|
|
1153
|
+
* `status` (string): Lowercase lifecycle status (e.g., `running`, `stopped`, `deleted`).
|
|
1154
|
+
* `created_at` (string|null): ISO timestamp recorded when the CT was provisioned.
|
|
1155
|
+
* `managed` (boolean): `true` for Portacode-managed entries.
|
|
1156
|
+
* `matches_default_storage` (boolean): `true` when this container is backed by the default storage pool used for new Portacode containers.
|
|
1157
|
+
* `unmanaged_containers` (array[object]): Facts about containers Portacode did not provision; fields mirror the managed list but are marked `managed=false`.
|
|
1158
|
+
* `reserve_on_boot` (boolean): `true` when the CT is configured to start at boot; used to determine whether its RAM/CPU allocations count toward the available totals.
|
|
1159
|
+
* `unmanaged_count` (integer): Number of unmanaged containers detected on the node.
|
|
1160
|
+
* `allocated_ram_mib` (integer): Total RAM reserved by both managed and unmanaged containers.
|
|
1161
|
+
* `allocated_disk_gib` (integer): Total disk reserved by both managed and unmanaged containers.
|
|
1162
|
+
* `allocated_cpu_share` (number): Total CPU shares requested by both managed and unmanaged containers.
|
|
1163
|
+
* `available_ram_mib` (integer|null): Remaining RAM after subtracting all reservations from the host total (null when unavailable).
|
|
1164
|
+
* `available_disk_gib` (integer|null): Remaining disk GB after subtracting allocations from the host total.
|
|
1165
|
+
* `available_cpu_share` (number|null): Remaining CPU shares after allocations.
|
|
1166
|
+
* `host_total_ram_mib` (integer|null): Host memory capacity observed via Proxmox.
|
|
1167
|
+
* `host_total_disk_gib` (integer|null): Host disk capacity observed via Proxmox.
|
|
1168
|
+
* `host_total_cpu_cores` (integer|null): Number of CPU cores reported by Proxmox.
|
|
1169
|
+
* `default_storage` (string|null): Storage pool name selected during infrastructure configuration.
|
|
1170
|
+
* `default_storage_snapshot` (object|null): Fresh stats for the default storage pool:
|
|
1171
|
+
* `storage` (string): Storage pool identifier.
|
|
1172
|
+
* `total_gib` (integer|null): Capacity of the storage pool.
|
|
1173
|
+
* `avail_gib` (integer|null): Available space remaining.
|
|
1174
|
+
* `used_gib` (integer|null): Space already consumed.
|
|
1167
1175
|
* `portacode_version` (string): Installed CLI version returned by `portacode.__version__`.
|
|
1168
1176
|
|
|
1169
1177
|
### `proxmox_infra_configured`
|
{portacode-1.4.16.dev4 → portacode-1.4.16.dev6}/portacode/connection/handlers/proxmox_infra.py
RENAMED
|
@@ -259,6 +259,12 @@ def _bytes_to_gib(value: Any) -> int:
|
|
|
259
259
|
return int(round(_normalize_bytes(value) / (1024**3)))
|
|
260
260
|
|
|
261
261
|
|
|
262
|
+
def _normalize_storage_name(name: Any) -> str:
|
|
263
|
+
if not name:
|
|
264
|
+
return ""
|
|
265
|
+
return str(name).strip().lower()
|
|
266
|
+
|
|
267
|
+
|
|
262
268
|
def _parse_bool_flag(value: Any) -> bool:
|
|
263
269
|
if isinstance(value, bool):
|
|
264
270
|
return value
|
|
@@ -458,7 +464,9 @@ def _extract_host_totals(node_status: Dict[str, Any] | None) -> Tuple[Optional[i
|
|
|
458
464
|
return host_ram, host_disk, host_cpu
|
|
459
465
|
|
|
460
466
|
|
|
461
|
-
def _build_unmanaged_container_entry(
|
|
467
|
+
def _build_unmanaged_container_entry(
|
|
468
|
+
ct: Dict[str, Any], cfg: Dict[str, Any], vmid: str, default_storage: str | None
|
|
469
|
+
) -> Dict[str, Any]:
|
|
462
470
|
ram_mib = _to_int(cfg.get("memory")) or _bytes_to_mib(ct.get("maxmem"))
|
|
463
471
|
disk_gib = _bytes_to_gib(ct.get("maxdisk"))
|
|
464
472
|
cpu_share = _to_float(
|
|
@@ -472,6 +480,7 @@ def _build_unmanaged_container_entry(ct: Dict[str, Any], cfg: Dict[str, Any], vm
|
|
|
472
480
|
storage = cfg.get("storage") or ct.get("storage")
|
|
473
481
|
status = (ct.get("status") or "unknown").lower()
|
|
474
482
|
reserved = _parse_bool_flag(cfg.get("onboot"))
|
|
483
|
+
storage_matches_default = _storage_matches_default(storage, default_storage)
|
|
475
484
|
return {
|
|
476
485
|
"vmid": vmid,
|
|
477
486
|
"hostname": hostname,
|
|
@@ -481,16 +490,44 @@ def _build_unmanaged_container_entry(ct: Dict[str, Any], cfg: Dict[str, Any], vm
|
|
|
481
490
|
"ram_mib": ram_mib,
|
|
482
491
|
"cpu_share": cpu_share,
|
|
483
492
|
"reserve_on_boot": reserved,
|
|
493
|
+
"matches_default_storage": storage_matches_default,
|
|
484
494
|
"status": status,
|
|
485
495
|
"managed": False,
|
|
486
496
|
}
|
|
487
497
|
|
|
488
498
|
|
|
499
|
+
def _get_storage_snapshot(proxmox: Any, node: str, storage_name: str | None) -> Dict[str, Any] | None:
|
|
500
|
+
if not storage_name:
|
|
501
|
+
return None
|
|
502
|
+
try:
|
|
503
|
+
storage = proxmox.nodes(node).storage(storage_name).status.get()
|
|
504
|
+
except Exception as exc:
|
|
505
|
+
logger.debug("Unable to read storage status %s:%s: %s", node, storage_name, exc)
|
|
506
|
+
return None
|
|
507
|
+
total_bytes = storage.get("total")
|
|
508
|
+
avail_bytes = storage.get("avail")
|
|
509
|
+
used_bytes = storage.get("used")
|
|
510
|
+
return {
|
|
511
|
+
"storage": storage_name,
|
|
512
|
+
"total_gib": _bytes_to_gib(total_bytes) if total_bytes is not None else None,
|
|
513
|
+
"avail_gib": _bytes_to_gib(avail_bytes) if avail_bytes is not None else None,
|
|
514
|
+
"used_gib": _bytes_to_gib(used_bytes) if used_bytes is not None else None,
|
|
515
|
+
}
|
|
516
|
+
|
|
517
|
+
|
|
518
|
+
|
|
519
|
+
def _storage_matches_default(storage_name: Any, default_storage: str | None) -> bool:
|
|
520
|
+
if not default_storage:
|
|
521
|
+
return True
|
|
522
|
+
return _normalize_storage_name(storage_name) == _normalize_storage_name(default_storage)
|
|
523
|
+
|
|
489
524
|
|
|
490
525
|
def _build_managed_containers_summary(
|
|
491
526
|
records: List[Dict[str, Any]],
|
|
492
527
|
unmanaged_records: List[Dict[str, Any]],
|
|
493
528
|
node_status: Dict[str, Any] | None,
|
|
529
|
+
storage_snapshot: Dict[str, Any] | None,
|
|
530
|
+
default_storage: str | None,
|
|
494
531
|
) -> Dict[str, Any]:
|
|
495
532
|
managed_containers: List[Dict[str, Any]] = []
|
|
496
533
|
total_ram = 0
|
|
@@ -518,6 +555,7 @@ def _build_managed_containers_summary(
|
|
|
518
555
|
"created_at": record.get("created_at"),
|
|
519
556
|
"status": status,
|
|
520
557
|
"managed": True,
|
|
558
|
+
"matches_default_storage": _storage_matches_default(record.get("storage"), default_storage),
|
|
521
559
|
}
|
|
522
560
|
)
|
|
523
561
|
|
|
@@ -526,7 +564,12 @@ def _build_managed_containers_summary(
|
|
|
526
564
|
for entry in unmanaged_records
|
|
527
565
|
if entry.get("reserve_on_boot")
|
|
528
566
|
)
|
|
529
|
-
unmanaged_total_disk = sum(
|
|
567
|
+
unmanaged_total_disk = sum(
|
|
568
|
+
_to_int(entry.get("disk_gib"))
|
|
569
|
+
for entry in unmanaged_records
|
|
570
|
+
if entry.get("reserve_on_boot")
|
|
571
|
+
and _storage_matches_default(entry.get("storage"), default_storage)
|
|
572
|
+
)
|
|
530
573
|
unmanaged_total_cpu = sum(
|
|
531
574
|
_to_float(entry.get("cpu_share"))
|
|
532
575
|
for entry in unmanaged_records
|
|
@@ -537,7 +580,12 @@ def _build_managed_containers_summary(
|
|
|
537
580
|
allocated_disk = total_disk + unmanaged_total_disk
|
|
538
581
|
allocated_cpu = total_cpu_share + unmanaged_total_cpu
|
|
539
582
|
|
|
540
|
-
|
|
583
|
+
host_ram_node, host_disk_node, host_cpu_node = _extract_host_totals(node_status)
|
|
584
|
+
storage_host_disk = storage_snapshot.get("total_gib") if storage_snapshot else None
|
|
585
|
+
host_ram = host_ram_node
|
|
586
|
+
host_disk = storage_host_disk if storage_host_disk is not None else host_disk_node
|
|
587
|
+
host_cpu = host_cpu_node
|
|
588
|
+
|
|
541
589
|
|
|
542
590
|
return {
|
|
543
591
|
"updated_at": datetime.utcnow().isoformat() + "Z",
|
|
@@ -557,6 +605,8 @@ def _build_managed_containers_summary(
|
|
|
557
605
|
"host_total_ram_mib": host_ram,
|
|
558
606
|
"host_total_disk_gib": host_disk,
|
|
559
607
|
"host_total_cpu_cores": host_cpu,
|
|
608
|
+
"default_storage": default_storage,
|
|
609
|
+
"default_storage_snapshot": storage_snapshot,
|
|
560
610
|
}
|
|
561
611
|
|
|
562
612
|
|
|
@@ -565,12 +615,15 @@ def _get_managed_containers_summary(force: bool = False) -> Dict[str, Any]:
|
|
|
565
615
|
records: List[Dict[str, Any]],
|
|
566
616
|
config: Dict[str, Any] | None,
|
|
567
617
|
managed_vmids: Set[str],
|
|
568
|
-
|
|
618
|
+
default_storage: str | None,
|
|
619
|
+
) -> Tuple[Dict[str, str], List[Dict[str, Any]], Dict[str, Any] | None, Dict[str, Any] | None]:
|
|
569
620
|
statuses: Dict[str, str] = {}
|
|
570
621
|
unmanaged: List[Dict[str, Any]] = []
|
|
571
622
|
node_status: Dict[str, Any] | None = None
|
|
572
623
|
if not config:
|
|
573
|
-
return statuses, unmanaged, node_status
|
|
624
|
+
return statuses, unmanaged, node_status, None
|
|
625
|
+
proxmox = None
|
|
626
|
+
node = None
|
|
574
627
|
try:
|
|
575
628
|
proxmox = _connect_proxmox(config)
|
|
576
629
|
node = _get_node_from_config(config)
|
|
@@ -591,10 +644,15 @@ def _get_managed_containers_summary(force: bool = False) -> Dict[str, Any]:
|
|
|
591
644
|
description = (cfg.get("description") or "")
|
|
592
645
|
if MANAGED_MARKER in description:
|
|
593
646
|
continue
|
|
594
|
-
unmanaged.append(_build_unmanaged_container_entry(ct, cfg, vmid_key))
|
|
647
|
+
unmanaged.append(_build_unmanaged_container_entry(ct, cfg, vmid_key, default_storage))
|
|
595
648
|
except Exception as exc: # pragma: no cover - best effort
|
|
596
649
|
logger.debug("Failed to refresh container statuses: %s", exc)
|
|
597
|
-
|
|
650
|
+
storage_snapshot = (
|
|
651
|
+
_get_storage_snapshot(proxmox, node, default_storage)
|
|
652
|
+
if proxmox and node
|
|
653
|
+
else None
|
|
654
|
+
)
|
|
655
|
+
return statuses, unmanaged, node_status, storage_snapshot
|
|
598
656
|
|
|
599
657
|
now = time.monotonic()
|
|
600
658
|
with _MANAGED_CONTAINERS_CACHE_LOCK:
|
|
@@ -607,7 +665,10 @@ def _get_managed_containers_summary(force: bool = False) -> Dict[str, Any]:
|
|
|
607
665
|
managed_vmids: Set[str] = {
|
|
608
666
|
str(_to_int(record.get("vmid"))) for record in records if record.get("vmid") is not None
|
|
609
667
|
}
|
|
610
|
-
|
|
668
|
+
default_storage = config.get("default_storage") if config else None
|
|
669
|
+
statuses, unmanaged, node_status, storage_snapshot = _refresh_container_statuses(
|
|
670
|
+
records, config, managed_vmids, default_storage
|
|
671
|
+
)
|
|
611
672
|
for record in records:
|
|
612
673
|
vmid = record.get("vmid")
|
|
613
674
|
if vmid is None:
|
|
@@ -616,7 +677,7 @@ def _get_managed_containers_summary(force: bool = False) -> Dict[str, Any]:
|
|
|
616
677
|
status = statuses.get(vmid_key)
|
|
617
678
|
if status:
|
|
618
679
|
record["status"] = status
|
|
619
|
-
summary = _build_managed_containers_summary(records, unmanaged, node_status)
|
|
680
|
+
summary = _build_managed_containers_summary(records, unmanaged, node_status, storage_snapshot, default_storage)
|
|
620
681
|
with _MANAGED_CONTAINERS_CACHE_LOCK:
|
|
621
682
|
_MANAGED_CONTAINERS_CACHE["timestamp"] = now
|
|
622
683
|
_MANAGED_CONTAINERS_CACHE["summary"] = summary
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|