CHANGELOG.md
LICENSE
MANIFEST.in
README.md
pyproject.toml
backend/rollingpebble/__init__.py
backend/rollingpebble/cli.py
backend/rollingpebble/config.py
backend/rollingpebble/job_kinds.py
backend/rollingpebble/jobs.py
backend/rollingpebble/jobs_progress.py
backend/rollingpebble/jobs_runner.py
backend/rollingpebble/jobs_store.py
backend/rollingpebble/lyrics_utils.py
backend/rollingpebble/main.py
backend/rollingpebble/messages.py
backend/rollingpebble/models.py
backend/rollingpebble/paths.py
backend/rollingpebble/version.py
backend/rollingpebble.egg-info/PKG-INFO
backend/rollingpebble.egg-info/SOURCES.txt
backend/rollingpebble.egg-info/dependency_links.txt
backend/rollingpebble.egg-info/entry_points.txt
backend/rollingpebble.egg-info/requires.txt
backend/rollingpebble.egg-info/top_level.txt
backend/rollingpebble/adapters/__init__.py
backend/rollingpebble/adapters/pylrclib_adapter.py
backend/rollingpebble/adapters/pyroller_adapter.py
backend/rollingpebble/api/__init__.py
backend/rollingpebble/api/context.py
backend/rollingpebble/api/health.py
backend/rollingpebble/api/jobs.py
backend/rollingpebble/api/lyrics_sources.py
backend/rollingpebble/api/projects.py
backend/rollingpebble/api/roller.py
backend/rollingpebble/api/runtime.py
backend/rollingpebble/api/settings.py
backend/rollingpebble/api/storage.py
backend/rollingpebble/api/upload.py
backend/rollingpebble/frontend_dist/index.html
backend/rollingpebble/frontend_dist/site.webmanifest
backend/rollingpebble/frontend_dist/assets/AbstractID3Parser-VNBejEeK.js
backend/rollingpebble/frontend_dist/assets/AbstractID3Parser-VNBejEeK.js.map
backend/rollingpebble/frontend_dist/assets/AiffParser-DOVD5N9J.js
backend/rollingpebble/frontend_dist/assets/AiffParser-DOVD5N9J.js.map
backend/rollingpebble/frontend_dist/assets/AsfParser-Du2b5MIJ.js
backend/rollingpebble/frontend_dist/assets/AsfParser-Du2b5MIJ.js.map
backend/rollingpebble/frontend_dist/assets/DsdiffParser-BhIu5LZG.js
backend/rollingpebble/frontend_dist/assets/DsdiffParser-BhIu5LZG.js.map
backend/rollingpebble/frontend_dist/assets/DsfParser-DwOKDlsq.js
backend/rollingpebble/frontend_dist/assets/DsfParser-DwOKDlsq.js.map
backend/rollingpebble/frontend_dist/assets/FlacParser-Dr4ww7ai.js
backend/rollingpebble/frontend_dist/assets/FlacParser-Dr4ww7ai.js.map
backend/rollingpebble/frontend_dist/assets/ID3v2Parser-CgT6cfr4.js
backend/rollingpebble/frontend_dist/assets/ID3v2Parser-CgT6cfr4.js.map
backend/rollingpebble/frontend_dist/assets/MP4Parser-C2w3HF6f.js
backend/rollingpebble/frontend_dist/assets/MP4Parser-C2w3HF6f.js.map
backend/rollingpebble/frontend_dist/assets/MatroskaParser-CmlqEMQj.js
backend/rollingpebble/frontend_dist/assets/MatroskaParser-CmlqEMQj.js.map
backend/rollingpebble/frontend_dist/assets/MpegParser-p8JcEj-I.js
backend/rollingpebble/frontend_dist/assets/MpegParser-p8JcEj-I.js.map
backend/rollingpebble/frontend_dist/assets/MusepackParser-C74en4lx.js
backend/rollingpebble/frontend_dist/assets/MusepackParser-C74en4lx.js.map
backend/rollingpebble/frontend_dist/assets/OggParser-BNr3vOsk.js
backend/rollingpebble/frontend_dist/assets/OggParser-BNr3vOsk.js.map
backend/rollingpebble/frontend_dist/assets/WavPackParser-BnkrtQuk.js
backend/rollingpebble/frontend_dist/assets/WavPackParser-BnkrtQuk.js.map
backend/rollingpebble/frontend_dist/assets/WaveParser-D-iOwRR5.js
backend/rollingpebble/frontend_dist/assets/WaveParser-D-iOwRR5.js.map
backend/rollingpebble/frontend_dist/assets/core-BigVgd61.js
backend/rollingpebble/frontend_dist/assets/core-BigVgd61.js.map
backend/rollingpebble/frontend_dist/assets/index-DdEy-t05.css
backend/rollingpebble/frontend_dist/assets/index-DfI0n_r-.js
backend/rollingpebble/frontend_dist/assets/index-DfI0n_r-.js.map
backend/rollingpebble/frontend_dist/assets/ja-igOBsxDD.js
backend/rollingpebble/frontend_dist/assets/ja-igOBsxDD.js.map
backend/rollingpebble/frontend_dist/assets/ko-KR-jpVHI6Rd.js
backend/rollingpebble/frontend_dist/assets/ko-KR-jpVHI6Rd.js.map
backend/rollingpebble/frontend_dist/assets/ncmc-worker-CPO697eB.ts
backend/rollingpebble/frontend_dist/assets/pl-PL-D0hay-DE.js
backend/rollingpebble/frontend_dist/assets/pl-PL-D0hay-DE.js.map
backend/rollingpebble/frontend_dist/assets/pt-BR-CsuAQZt0.js
backend/rollingpebble/frontend_dist/assets/pt-BR-CsuAQZt0.js.map
backend/rollingpebble/frontend_dist/assets/sk-SK-BTMQBOh-.js
backend/rollingpebble/frontend_dist/assets/sk-SK-BTMQBOh-.js.map
backend/rollingpebble/frontend_dist/assets/smooth-scroll-Cyy-OSkS.js
backend/rollingpebble/frontend_dist/assets/smooth-scroll-Cyy-OSkS.js.map
backend/rollingpebble/frontend_dist/assets/zh-CN-DJvwJAA4.js
backend/rollingpebble/frontend_dist/assets/zh-CN-DJvwJAA4.js.map
backend/rollingpebble/frontend_dist/assets/zh-HK-WOcjay-a.js
backend/rollingpebble/frontend_dist/assets/zh-HK-WOcjay-a.js.map
backend/rollingpebble/frontend_dist/assets/zh-TW-B9KfObxi.js
backend/rollingpebble/frontend_dist/assets/zh-TW-B9KfObxi.js.map
backend/rollingpebble/frontend_dist/favicons/android-chrome-192x192.png
backend/rollingpebble/frontend_dist/favicons/android-chrome-512x512.png
backend/rollingpebble/frontend_dist/favicons/apple-touch-icon.png
backend/rollingpebble/frontend_dist/favicons/browserconfig.xml
backend/rollingpebble/frontend_dist/favicons/favicon-16x16.png
backend/rollingpebble/frontend_dist/favicons/favicon-32x32.png
backend/rollingpebble/frontend_dist/favicons/favicon.ico
backend/rollingpebble/frontend_dist/favicons/mstile-150x150.png
backend/rollingpebble/frontend_dist/favicons/mstile-310x310.png
backend/rollingpebble/frontend_dist/favicons/safari-pinned-tab.svg
backend/rollingpebble/frontend_dist/img/rollingpebble-avatar.png
backend/rollingpebble/frontend_dist/img/rollingpebble-avatar.webp
backend/rollingpebble/frontend_dist/img/rollingpebble-workspace-bg.webp
backend/rollingpebble/runtime/__init__.py
backend/rollingpebble/runtime/constants.py
backend/rollingpebble/runtime/dependencies.py
backend/rollingpebble/runtime/environment.py
backend/rollingpebble/runtime/installer.py
backend/rollingpebble/runtime/jobs.py
backend/rollingpebble/runtime/manager.py
backend/rollingpebble/runtime/python.py
backend/rollingpebble/runtime/recipe.py
backend/rollingpebble/runtime/reports.py
backend/rollingpebble/runtime/results.py
backend/rollingpebble/runtime/service.py
backend/rollingpebble/runtime/settings.py
backend/rollingpebble/services/__init__.py
backend/rollingpebble/services/local_dialog.py
backend/rollingpebble/services/lrclib_service.py
backend/rollingpebble/services/netease_service.py
backend/rollingpebble/services/project_service.py
backend/rollingpebble/services/roller_service.py
backend/rollingpebble/services/storage_cleanup.py
backend/rollingpebble/services/storage_migration.py
backend/rollingpebble/services/storage_service.py
backend/rollingpebble/services/storage_shared.py
backend/rollingpebble/services/storage_usage.py
backend/rollingpebble/services/upload_service.py
backend/rollingpebble/storage/__init__.py
backend/rollingpebble/storage/app_settings.py
backend/rollingpebble/storage/files.py
tests/test_jobs_subprocess_security.py
tests/test_lrc_roller_runtime_and_app.py
tests/test_netease_service.py
tests/test_pyroller_adapter.py
tests/test_runtime_installer_reports.py
tests/test_storage_service.py
tests/test_workspace_save.py