regstack 0.1.0__tar.gz → 0.1.1__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.
- {regstack-0.1.0 → regstack-0.1.1}/CHANGELOG.md +5 -0
- {regstack-0.1.0 → regstack-0.1.1}/PKG-INFO +8 -8
- {regstack-0.1.0 → regstack-0.1.1}/README.md +7 -7
- {regstack-0.1.0 → regstack-0.1.1}/docs/changelog.md +7 -0
- {regstack-0.1.0 → regstack-0.1.1}/pyproject.toml +1 -1
- regstack-0.1.1/src/regstack/version.py +1 -0
- {regstack-0.1.0 → regstack-0.1.1}/uv.lock +1 -1
- regstack-0.1.0/src/regstack/version.py +0 -1
- {regstack-0.1.0 → regstack-0.1.1}/.github/workflows/publish.yml +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/.github/workflows/test.yml +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/.gitignore +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/.python-version +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/.readthedocs.yaml +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/CLAUDE.md +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/LICENSE +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/NOTICE +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/SECURITY.md +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/docs/_static/.gitkeep +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/docs/_templates/.gitkeep +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/docs/api.md +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/docs/architecture.md +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/docs/cli.md +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/docs/conf.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/docs/configuration.md +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/docs/embedding.md +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/docs/index.md +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/docs/quickstart.md +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/docs/security.md +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/docs/theming.md +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/examples/minimal/README.md +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/examples/minimal/branding/theme.css +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/examples/minimal/main.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/examples/minimal/regstack.toml +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/regstack.toml.example +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/__init__.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/app.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/auth/__init__.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/auth/clock.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/auth/dependencies.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/auth/jwt.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/auth/lockout.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/auth/mfa.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/auth/password.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/auth/tokens.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/cli/__init__.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/cli/__main__.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/cli/_runtime.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/cli/admin.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/cli/doctor.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/cli/init.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/config/__init__.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/config/loader.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/config/schema.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/config/secrets.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/db/__init__.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/db/client.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/db/indexes.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/db/repositories/__init__.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/db/repositories/blacklist_repo.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/db/repositories/login_attempt_repo.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/db/repositories/mfa_code_repo.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/db/repositories/pending_repo.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/db/repositories/user_repo.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/email/__init__.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/email/base.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/email/composer.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/email/console.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/email/factory.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/email/ses.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/email/smtp.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/email/templates/email_change.html +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/email/templates/email_change.subject.txt +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/email/templates/email_change.txt +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/email/templates/password_reset.html +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/email/templates/password_reset.subject.txt +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/email/templates/password_reset.txt +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/email/templates/sms_login_mfa.txt +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/email/templates/sms_phone_setup.txt +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/email/templates/verification.html +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/email/templates/verification.subject.txt +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/email/templates/verification.txt +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/hooks/__init__.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/hooks/events.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/models/__init__.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/models/_objectid.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/models/login_attempt.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/models/mfa_code.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/models/pending_registration.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/models/user.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/routers/__init__.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/routers/_schemas.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/routers/account.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/routers/admin.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/routers/login.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/routers/logout.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/routers/password.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/routers/phone.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/routers/register.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/routers/verify.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/sms/__init__.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/sms/base.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/sms/factory.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/sms/null.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/sms/sns.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/sms/twilio.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/ui/__init__.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/ui/pages.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/ui/static/css/core.css +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/ui/static/css/theme.css +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/ui/static/js/regstack.js +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/ui/templates/auth/email_change_confirm.html +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/ui/templates/auth/forgot.html +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/ui/templates/auth/login.html +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/ui/templates/auth/me.html +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/ui/templates/auth/mfa_confirm.html +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/ui/templates/auth/register.html +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/ui/templates/auth/reset.html +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/ui/templates/auth/verify.html +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/src/regstack/ui/templates/base.html +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/tasks.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/tests/__init__.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/tests/conftest.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/tests/integration/__init__.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/tests/integration/test_account_management.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/tests/integration/test_admin_router.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/tests/integration/test_happy_path.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/tests/integration/test_indexes.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/tests/integration/test_login_lockout.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/tests/integration/test_mfa.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/tests/integration/test_password_reset.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/tests/integration/test_ui_router.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/tests/integration/test_verification.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/tests/unit/__init__.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/tests/unit/test_cli.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/tests/unit/test_config_loader.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/tests/unit/test_jwt.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/tests/unit/test_lockout.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/tests/unit/test_mail_composer.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/tests/unit/test_mfa_code_repo.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/tests/unit/test_password.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/tests/unit/test_ses_backend.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/tests/unit/test_sms.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/tests/unit/test_smtp_backend.py +0 -0
- {regstack-0.1.0 → regstack-0.1.1}/tests/unit/test_ui_env.py +0 -0
|
@@ -5,6 +5,11 @@ authoritative copy lives at
|
|
|
5
5
|
[`docs/changelog.md`](docs/changelog.md) and is rendered into the
|
|
6
6
|
Sphinx docs.
|
|
7
7
|
|
|
8
|
+
## 0.1.1 — 2026-04-27
|
|
9
|
+
|
|
10
|
+
- Rewrite README relative links as absolute URLs so they resolve on the
|
|
11
|
+
PyPI project page. README-only release.
|
|
12
|
+
|
|
8
13
|
## 0.1.0 — 2026-04-27
|
|
9
14
|
|
|
10
15
|
First tagged release. Bundles M1–M6 from the development plan into a
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: regstack
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.1
|
|
4
4
|
Summary: Embeddable user registration, login, and account management for FastAPI/MongoDB apps.
|
|
5
5
|
Project-URL: Homepage, https://github.com/jdrumgoole/regstack
|
|
6
6
|
Project-URL: Repository, https://github.com/jdrumgoole/regstack
|
|
@@ -59,7 +59,7 @@ Description-Content-Type: text/markdown
|
|
|
59
59
|
[](https://github.com/jdrumgoole/regstack/actions/workflows/test.yml)
|
|
60
60
|
[](https://www.python.org/)
|
|
61
61
|
[](https://fastapi.tiangolo.com/)
|
|
62
|
-
[](LICENSE)
|
|
62
|
+
[](https://github.com/jdrumgoole/regstack/blob/main/LICENSE)
|
|
63
63
|
|
|
64
64
|
**Drop-in user accounts for FastAPI + MongoDB.** Stop hand-rolling
|
|
65
65
|
register / login / verify / reset / 2FA in every project — install
|
|
@@ -67,9 +67,9 @@ regstack, point it at your MongoDB, and you're done.
|
|
|
67
67
|
|
|
68
68
|
📚 **Docs:** <https://regstack.readthedocs.io>
|
|
69
69
|
·
|
|
70
|
-
🧪 **Try it:** [`examples/minimal`](examples/minimal
|
|
70
|
+
🧪 **Try it:** [`examples/minimal`](https://github.com/jdrumgoole/regstack/tree/main/examples/minimal)
|
|
71
71
|
·
|
|
72
|
-
🛡️ **Security model:** [
|
|
72
|
+
🛡️ **Security model:** [security guide](https://regstack.readthedocs.io/en/latest/security.html)
|
|
73
73
|
|
|
74
74
|
---
|
|
75
75
|
|
|
@@ -178,12 +178,12 @@ reference](https://regstack.readthedocs.io/en/latest/configuration.html).
|
|
|
178
178
|
| [CLI](https://regstack.readthedocs.io/en/latest/cli.html) | `init`, `create-admin`, `doctor` |
|
|
179
179
|
| [API reference](https://regstack.readthedocs.io/en/latest/api.html) | Public types, generated from source |
|
|
180
180
|
|
|
181
|
-
The same docs are also browsable as Markdown in [`docs/`](docs
|
|
181
|
+
The same docs are also browsable as Markdown in [`docs/`](https://github.com/jdrumgoole/regstack/tree/main/docs).
|
|
182
182
|
|
|
183
183
|
## Status
|
|
184
184
|
|
|
185
185
|
Alpha. Milestones M1 through M6 are complete and verified end-to-end
|
|
186
|
-
in the bundled example. See the [changelog](
|
|
186
|
+
in the bundled example. See the [changelog](https://regstack.readthedocs.io/en/latest/changelog.html) for the
|
|
187
187
|
per-milestone breakdown. The next tagged release will be `v0.1.0`.
|
|
188
188
|
|
|
189
189
|
## Contributing
|
|
@@ -202,8 +202,8 @@ A local MongoDB on `mongodb://localhost:27017` is required for the
|
|
|
202
202
|
integration tests. Each pytest-xdist worker creates and drops its own
|
|
203
203
|
database, so the suite is safe to re-run while you iterate.
|
|
204
204
|
|
|
205
|
-
Security disclosures: see [SECURITY.md](SECURITY.md).
|
|
205
|
+
Security disclosures: see [SECURITY.md](https://github.com/jdrumgoole/regstack/blob/main/SECURITY.md).
|
|
206
206
|
|
|
207
207
|
## License
|
|
208
208
|
|
|
209
|
-
[Apache License 2.0](LICENSE) © 2026 Joe Drumgoole.
|
|
209
|
+
[Apache License 2.0](https://github.com/jdrumgoole/regstack/blob/main/LICENSE) © 2026 Joe Drumgoole.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
[](https://github.com/jdrumgoole/regstack/actions/workflows/test.yml)
|
|
4
4
|
[](https://www.python.org/)
|
|
5
5
|
[](https://fastapi.tiangolo.com/)
|
|
6
|
-
[](LICENSE)
|
|
6
|
+
[](https://github.com/jdrumgoole/regstack/blob/main/LICENSE)
|
|
7
7
|
|
|
8
8
|
**Drop-in user accounts for FastAPI + MongoDB.** Stop hand-rolling
|
|
9
9
|
register / login / verify / reset / 2FA in every project — install
|
|
@@ -11,9 +11,9 @@ regstack, point it at your MongoDB, and you're done.
|
|
|
11
11
|
|
|
12
12
|
📚 **Docs:** <https://regstack.readthedocs.io>
|
|
13
13
|
·
|
|
14
|
-
🧪 **Try it:** [`examples/minimal`](examples/minimal
|
|
14
|
+
🧪 **Try it:** [`examples/minimal`](https://github.com/jdrumgoole/regstack/tree/main/examples/minimal)
|
|
15
15
|
·
|
|
16
|
-
🛡️ **Security model:** [
|
|
16
|
+
🛡️ **Security model:** [security guide](https://regstack.readthedocs.io/en/latest/security.html)
|
|
17
17
|
|
|
18
18
|
---
|
|
19
19
|
|
|
@@ -122,12 +122,12 @@ reference](https://regstack.readthedocs.io/en/latest/configuration.html).
|
|
|
122
122
|
| [CLI](https://regstack.readthedocs.io/en/latest/cli.html) | `init`, `create-admin`, `doctor` |
|
|
123
123
|
| [API reference](https://regstack.readthedocs.io/en/latest/api.html) | Public types, generated from source |
|
|
124
124
|
|
|
125
|
-
The same docs are also browsable as Markdown in [`docs/`](docs
|
|
125
|
+
The same docs are also browsable as Markdown in [`docs/`](https://github.com/jdrumgoole/regstack/tree/main/docs).
|
|
126
126
|
|
|
127
127
|
## Status
|
|
128
128
|
|
|
129
129
|
Alpha. Milestones M1 through M6 are complete and verified end-to-end
|
|
130
|
-
in the bundled example. See the [changelog](
|
|
130
|
+
in the bundled example. See the [changelog](https://regstack.readthedocs.io/en/latest/changelog.html) for the
|
|
131
131
|
per-milestone breakdown. The next tagged release will be `v0.1.0`.
|
|
132
132
|
|
|
133
133
|
## Contributing
|
|
@@ -146,8 +146,8 @@ A local MongoDB on `mongodb://localhost:27017` is required for the
|
|
|
146
146
|
integration tests. Each pytest-xdist worker creates and drops its own
|
|
147
147
|
database, so the suite is safe to re-run while you iterate.
|
|
148
148
|
|
|
149
|
-
Security disclosures: see [SECURITY.md](SECURITY.md).
|
|
149
|
+
Security disclosures: see [SECURITY.md](https://github.com/jdrumgoole/regstack/blob/main/SECURITY.md).
|
|
150
150
|
|
|
151
151
|
## License
|
|
152
152
|
|
|
153
|
-
[Apache License 2.0](LICENSE) © 2026 Joe Drumgoole.
|
|
153
|
+
[Apache License 2.0](https://github.com/jdrumgoole/regstack/blob/main/LICENSE) © 2026 Joe Drumgoole.
|
|
@@ -3,6 +3,13 @@
|
|
|
3
3
|
All notable changes to this project are documented here. Versions follow
|
|
4
4
|
[Semantic Versioning](https://semver.org/) once `1.0.0` ships.
|
|
5
5
|
|
|
6
|
+
## 0.1.1 — 2026-04-27
|
|
7
|
+
|
|
8
|
+
- Rewrite the README's relative links (`examples/minimal/`,
|
|
9
|
+
`docs/security.md`, `LICENSE`, `SECURITY.md`, etc.) as absolute
|
|
10
|
+
GitHub / Read the Docs URLs so they resolve on the PyPI project page,
|
|
11
|
+
not just on GitHub. README-only release.
|
|
12
|
+
|
|
6
13
|
## 0.1.0 — 2026-04-27
|
|
7
14
|
|
|
8
15
|
First tagged release. Bundles M1–M6 from the development plan into a
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.1.1"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.1.0"
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|