# ==========================================
# RSA CTF工具集 Git忽略文件
# ==========================================

# Python 相关
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
pip-wheel-metadata/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# 虚拟环境
venv/
env/
ENV/
env.bak/
venv.bak/

# PyCharm
.idea/

# VS Code
.vscode/

# Jupyter Notebook
.ipynb_checkpoints

# pyenv
.python-version

# 系统文件
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

# 日志文件
*.log

# 临时文件
*.tmp
*.temp
*~

# 测试覆盖率报告
htmlcov/
.coverage
.coverage.*
coverage.xml
*.cover
.hypothesis/
.pytest_cache/

# 密钥和证书文件（安全考虑）
*.pem
*.key
*.cert
*.p12
*.pfx
id_rsa*
id_dsa*
id_ecdsa*
id_ed25519*

# 备份文件
*.bak
*.backup
*~

# 编译相关
*.o
*.a
*.dll
*.exe
*.out
*.app

# MacOS应用相关
*.app/
*.dmg
*.pkg

# 测试输出
test_output/
test_results/

# 性能测试结果
benchmark_results/
performance_logs/

# 项目特定的备份和测试文件
backup_before_optimization/
test_*.py
demo_*.py
*_test.py
*_demo.py

# 构建脚本输出
build_output/
app_build/

# 优化相关文件
optimization_*.py
performance_*.py
cleanup_*.py
start_optimization.py

# 示例和演示文件
examples.py

# 项目特定的忽略文件
# 备份目录
backup*/
*backup*/

# 构建和打包相关
build*/
dist*/
*.app/
*.dmg
*.pkg
build_app.py
build_final_app.py
build_app.sh
setup_app.py
app_launcher.py

# 图标和资源文件（保留必要的）
# 但忽略临时生成的图标
icon_preview.*
favicon*
logo_banner.*
logo_*_rounded.*
app_icon_rounded.*

# macOS应用相关
*.icns

# 大型资源文件
Logo.png

# 临时测试文件
flag.*
key.pub
*.b64

# 项目文档的临时文件
*_REPORT.md
*_ANALYSIS.md
*_GUIDE.md
MAC_APP_*
OPTIMIZATION_*
KEY_EXPORT_*
COMPREHENSIVE_*
POST_OPTIMIZATION_*

# 根目录下的重复文件（如果有的话）
# 保持src/目录结构清晰
/factor_tool.py
/math_utils.py  
/quick_rsa.py
/rsa_attacks.py
/rsa_ctf_tool.py
/rsa_gui.py
/rsatool.py

# ==========================================
# 操作系统特定文件
# ==========================================

# macOS
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
.AppleDouble
.LSOverride

# macOS图标
Icon

# macOS目录文件
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent

# Windows
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db
*.stackdump
[Dd]esktop.ini
$RECYCLE.BIN/
*.cab
*.msi
*.msix
*.msm
*.msp
*.lnk

# Linux
*~
.fuse_hidden*
.directory
.Trash-*
.nfs*

# ==========================================
# 编辑器和IDE文件
# ==========================================

# Visual Studio Code
.vscode/
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
*.code-workspace

# PyCharm
.idea/
*.iws
*.iml
*.ipr

# Sublime Text
*.tmlanguage.cache
*.tmPreferences.cache
*.stTheme.cache
*.sublime-workspace
*.sublime-project

# Vim
[._]*.s[a-v][a-z]
[._]*.sw[a-p]
[._]s[a-rt-v][a-z]
[._]ss[a-gi-z]
[._]sw[a-p]
Session.vim
Sessionx.vim
.netrwhist
*~
tags
[._]*.un~

# Emacs
*~
\#*\#
/.emacs.desktop
/.emacs.desktop.lock
*.elc
auto-save-list
tramp
.\#*

# ==========================================
# RSA CTF工具集特定文件
# ==========================================

# 测试生成的密钥和密文文件（保留示例文件）
test_key_*.pub
test_flag_*.b64
temp_*.pub
temp_*.b64

# 临时计算结果文件
factors.txt
*.tmp
*.temp

# 日志文件
*.log
logs/

# 配置文件（如果包含敏感信息）
config.ini
config.json
secrets.env

# 个人笔记文件
notes.txt
notes.md
TODO.txt

# 备份文件
*.bak
*.backup
*.orig

# ==========================================
# 密码学相关文件（安全考虑）
# ==========================================

# 私钥文件（安全起见）
*.pem
*.key
private_key*
id_rsa*
id_dsa*
id_ecdsa*
id_ed25519*

# 证书文件
*.crt
*.cert
*.cer
*.p12
*.pfx

# 敏感数据文件
*.secret
*.secrets
*.passwd
*.password

# ==========================================
# 其他常见忽略文件
# ==========================================

# 压缩文件
*.7z
*.dmg
*.gz
*.iso
*.jar
*.rar
*.tar
*.zip

# 二进制文件
*.exe
*.o
*.so
*.dylib
*.dll

# 数据库文件
*.db
*.sqlite
*.sqlite3

# 媒体文件（如果不需要版本控制）
# *.jpg
# *.jpeg
# *.png
# *.gif
# *.mp3
# *.mp4

# 文档输出文件
*.pdf
*.doc
*.docx

# ==========================================
# 保留重要文件的注释
# ==========================================

# 以下文件应该被包含在版本控制中：
# README.md
# requirements.txt
# requirements-dev.txt
# setup.py
# MANIFEST.in
# key.pub (示例公钥)
# flag.b64 (示例密文)
# run.sh
# *.py (所有Python源代码)