gitextract_lkob7b_6/ ├── .devcontainer/ │ ├── node/ │ │ └── devcontainer.json │ └── python/ │ └── devcontainer.json ├── .dockerignore ├── .gitattributes ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug-report.md │ │ ├── feature-request.md │ │ └── generic.md │ ├── dependabot.yml │ └── workflows/ │ ├── build-docs.yml │ ├── build-package.yml │ ├── codeql-analysis.yml │ ├── compile-notes.yml │ ├── create-release.yml │ ├── extract-changelog.yml │ ├── patch-version.yml │ ├── produce-artifacts.yml │ ├── publish-docs.yml │ ├── publish.yml │ ├── quality-checks.yml │ └── refresh-docs.yml ├── .gitignore ├── .vscode/ │ └── settings.json ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Dockerfile ├── Dockerfile.build ├── Dockerfile.build-doc ├── Dockerfile.build-musl ├── EXPERIMENTAL.md ├── LICENSE.md ├── README.md ├── README_AUR.md ├── README_DOCKER.md ├── README_NPM.md ├── README_PYPI.md ├── binary_dist/ │ ├── pyproject.toml │ └── src/ │ ├── icloud/ │ │ ├── __init__.py │ │ └── __main__.py │ └── icloudpd/ │ ├── __init__.py │ └── __main__.py ├── docs/ │ ├── authentication.md │ ├── conf.py │ ├── index.md │ ├── install.md │ ├── mode.md │ ├── naming.md │ ├── nas.md │ ├── raw.md │ ├── reference.md │ ├── size.md │ └── webui.md ├── examples/ │ └── cron_script.sh.example ├── help_current.txt ├── jq/ │ └── version.jq ├── npm/ │ ├── @icloudpd/ │ │ ├── darwin-arm64/ │ │ │ ├── README.md │ │ │ └── package.json │ │ ├── darwin-x64/ │ │ │ ├── README.md │ │ │ └── package.json │ │ ├── linux-arm/ │ │ │ ├── README.md │ │ │ └── package.json │ │ ├── linux-arm64/ │ │ │ ├── README.md │ │ │ └── package.json │ │ ├── linux-x64/ │ │ │ ├── README.md │ │ │ └── package.json │ │ └── win32-x64/ │ │ ├── README.md │ │ └── package.json │ └── icloudpd/ │ ├── bin/ │ │ └── icloudpd.js │ ├── package.json │ └── preinstall.js ├── pyproject.toml ├── requirements-pip.txt ├── scripts/ │ ├── build │ ├── build_bin1 │ ├── build_binary_dist_macos │ ├── build_binary_dist_windows │ ├── build_npm │ ├── build_static │ ├── build_whl │ ├── clean │ ├── clone_whl_version │ ├── compile_compatibility.py │ ├── compile_matrix.py │ ├── compile_tzlc.py │ ├── extract_releasenotes │ ├── format │ ├── get_version │ ├── install_deps │ ├── lint │ ├── npx_optional │ ├── npx_optional_touch │ ├── patch_version │ ├── publish_npm │ ├── publish_pypi │ ├── run_all_checks │ ├── test │ ├── test_python_versions.sh │ ├── type_check │ └── unpublish_npm ├── src/ │ ├── foundation/ │ │ ├── __init__.py │ │ ├── core/ │ │ │ ├── __init__.py │ │ │ └── optional/ │ │ │ └── __init__.py │ │ ├── http.py │ │ ├── json.py │ │ ├── predicates.py │ │ ├── py.typed │ │ ├── string.py │ │ └── string_utils.py │ ├── icloudpd/ │ │ ├── __init__.py │ │ ├── authentication.py │ │ ├── autodelete.py │ │ ├── base.py │ │ ├── cli.py │ │ ├── config.py │ │ ├── constants.py │ │ ├── counter.py │ │ ├── download.py │ │ ├── email_notifications.py │ │ ├── exif_datetime.py │ │ ├── filename_policies.py │ │ ├── log_level.py │ │ ├── logger.py │ │ ├── mfa_provider.py │ │ ├── password_provider.py │ │ ├── paths.py │ │ ├── progress.py │ │ ├── py.typed │ │ ├── server/ │ │ │ ├── __init__.py │ │ │ ├── static/ │ │ │ │ ├── js/ │ │ │ │ │ └── toast.js │ │ │ │ ├── manifest.json │ │ │ │ └── style/ │ │ │ │ └── style.css │ │ │ └── templates/ │ │ │ ├── auth_error.html │ │ │ ├── code.html │ │ │ ├── code_submitted.html │ │ │ ├── index.html │ │ │ ├── no_input.html │ │ │ ├── password.html │ │ │ ├── password_submitted.html │ │ │ └── status.html │ │ ├── status.py │ │ ├── string_helpers.py │ │ └── xmp_sidecar.py │ ├── pyicloud_ipd/ │ │ ├── __init__.py │ │ ├── asset_version.py │ │ ├── base.py │ │ ├── cmdline.py │ │ ├── exceptions.py │ │ ├── file_match.py │ │ ├── item_type.py │ │ ├── live_photo_mov_filename_policy.py │ │ ├── py.typed │ │ ├── raw_policy.py │ │ ├── services/ │ │ │ ├── __init__.py │ │ │ └── photos.py │ │ ├── session.py │ │ ├── sms.py │ │ ├── utils.py │ │ └── version_size.py │ └── starters/ │ ├── __init__.py │ ├── icloud.py │ └── icloudpd.py └── tests/ ├── __init__.py ├── cookie/ │ ├── jdoegmailcom │ └── jdoegmailcom.session ├── data/ │ └── parse_trusted_phone_numbers_payload_valid.html ├── helpers/ │ └── __init__.py ├── test_authentication.py ├── test_autodelete_photos.py ├── test_cli.py ├── test_download_live_photos.py ├── test_download_live_photos_id.py ├── test_download_photos.py ├── test_download_photos_id.py ├── test_download_videos.py ├── test_email_notifications.py ├── test_filenames.py ├── test_folder_structure.py ├── test_http.py ├── test_issue_1220_only_print_filenames_dedup_bug.py ├── test_json_rules.py ├── test_keep_icloud_mode.py ├── test_listing_albums.py ├── test_listing_libraries.py ├── test_listing_recent_photos.py ├── test_logger.py ├── test_session_connection_errors.py ├── test_string_helpers.py ├── test_two_step_auth.py ├── test_xmp_sidecar.py └── vcr_cassettes/ ├── 2fa_flow_invalid_code.yml ├── 2fa_flow_valid_code.yml ├── 2fa_flow_valid_code_zero_lead.yml ├── 2sa_flow_invalid_code.yml ├── 2sa_flow_valid_code.yml ├── auth_non_2fa.yml ├── auth_requires_2fa.yml ├── autodelete_photos.yml ├── autodelete_photos_heic.yml ├── download_autodelete_photos_part1.yml ├── download_autodelete_photos_part2.yml ├── download_live_photos.yml ├── failed_auth.yml ├── failed_auth_503.yml ├── fallback_raw_password.yml ├── listing_albums.yml ├── listing_photos.yml ├── listing_photos_bad_filename.yml ├── listing_photos_bad_filename_base64_encoding.yml ├── listing_photos_bad_filename_utf8_encoding.yml ├── listing_photos_chinese.yml ├── listing_photos_filename_string_encoding.yml ├── listing_photos_keep_icloud_recent_days.yml ├── listing_photos_missing_downloadUrl.yml ├── listing_photos_missing_filenameEnc.yml ├── listing_photos_missing_item_type.yml ├── listing_photos_missing_item_type_value.yml ├── listing_photos_no_delete.yml ├── listing_photos_raw.yml ├── listing_photos_raw_alt.yml ├── listing_photos_raw_alt_adj.yml ├── listing_photos_resume.yml ├── listing_photos_two_sizes.yml ├── listing_videos.yml └── successful_auth.yml