plain 0.73.0__tar.gz → 0.75.0__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.
- {plain-0.73.0 → plain-0.75.0}/PKG-INFO +2 -2
- {plain-0.73.0 → plain-0.75.0}/plain/CHANGELOG.md +21 -0
- {plain-0.73.0 → plain-0.75.0}/plain/README.md +1 -1
- {plain-0.73.0 → plain-0.75.0}/plain/chores/README.md +1 -1
- {plain-0.73.0 → plain-0.75.0}/plain/cli/agent/request.py +15 -13
- {plain-0.73.0 → plain-0.75.0}/plain/internal/handlers/base.py +3 -0
- {plain-0.73.0 → plain-0.75.0}/pyproject.toml +1 -1
- {plain-0.73.0 → plain-0.75.0}/.gitignore +0 -0
- {plain-0.73.0 → plain-0.75.0}/LICENSE +0 -0
- {plain-0.73.0 → plain-0.75.0}/README.md +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/AGENTS.md +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/__main__.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/assets/README.md +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/assets/__init__.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/assets/compile.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/assets/finders.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/assets/fingerprints.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/assets/urls.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/assets/views.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/chores/__init__.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/chores/registry.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/cli/README.md +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/cli/__init__.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/cli/agent/__init__.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/cli/agent/docs.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/cli/agent/llmdocs.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/cli/agent/md.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/cli/agent/prompt.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/cli/build.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/cli/changelog.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/cli/chores.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/cli/core.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/cli/docs.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/cli/formatting.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/cli/install.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/cli/output.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/cli/preflight.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/cli/print.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/cli/registry.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/cli/scaffold.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/cli/settings.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/cli/shell.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/cli/startup.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/cli/upgrade.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/cli/urls.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/cli/utils.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/csrf/README.md +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/csrf/middleware.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/csrf/views.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/debug.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/exceptions.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/forms/README.md +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/forms/__init__.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/forms/boundfield.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/forms/exceptions.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/forms/fields.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/forms/forms.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/http/README.md +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/http/__init__.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/http/cookie.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/http/multipartparser.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/http/request.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/http/response.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/internal/__init__.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/internal/files/__init__.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/internal/files/base.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/internal/files/locks.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/internal/files/move.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/internal/files/temp.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/internal/files/uploadedfile.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/internal/files/uploadhandler.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/internal/files/utils.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/internal/handlers/__init__.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/internal/handlers/exception.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/internal/handlers/wsgi.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/internal/middleware/__init__.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/internal/middleware/headers.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/internal/middleware/hosts.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/internal/middleware/https.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/internal/middleware/slash.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/json.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/logs/README.md +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/logs/__init__.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/logs/configure.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/logs/debug.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/logs/formatters.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/logs/loggers.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/logs/utils.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/packages/README.md +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/packages/__init__.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/packages/config.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/packages/registry.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/paginator.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/preflight/README.md +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/preflight/__init__.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/preflight/checks.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/preflight/files.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/preflight/registry.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/preflight/results.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/preflight/security.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/preflight/urls.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/runtime/README.md +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/runtime/__init__.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/runtime/global_settings.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/runtime/user_settings.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/runtime/utils.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/signals/README.md +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/signals/__init__.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/signals/dispatch/__init__.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/signals/dispatch/dispatcher.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/signals/dispatch/license.txt +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/signing.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/templates/AGENTS.md +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/templates/README.md +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/templates/__init__.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/templates/core.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/templates/jinja/__init__.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/templates/jinja/environments.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/templates/jinja/extensions.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/templates/jinja/filters.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/templates/jinja/globals.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/test/README.md +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/test/__init__.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/test/client.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/test/encoding.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/test/exceptions.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/urls/README.md +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/urls/__init__.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/urls/converters.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/urls/exceptions.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/urls/patterns.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/urls/resolvers.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/urls/routers.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/urls/utils.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/utils/README.md +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/utils/__init__.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/utils/cache.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/utils/crypto.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/utils/datastructures.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/utils/dateparse.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/utils/deconstruct.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/utils/decorators.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/utils/duration.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/utils/encoding.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/utils/functional.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/utils/hashable.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/utils/html.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/utils/http.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/utils/inspect.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/utils/ipv6.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/utils/itercompat.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/utils/module_loading.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/utils/regex_helper.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/utils/safestring.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/utils/text.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/utils/timesince.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/utils/timezone.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/utils/tree.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/validators.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/views/README.md +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/views/__init__.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/views/base.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/views/errors.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/views/exceptions.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/views/forms.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/views/objects.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/views/redirect.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/views/templates.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/plain/wsgi.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/tests/.gitignore +0 -0
- {plain-0.73.0 → plain-0.75.0}/tests/app/.gitignore +0 -0
- {plain-0.73.0 → plain-0.75.0}/tests/app/settings.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/tests/app/test/__init__.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/tests/app/test/default_settings.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/tests/app/urls.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/tests/conftest.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/tests/test_cli.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/tests/test_csrf.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/tests/test_http_hosts.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/tests/test_logs.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/tests/test_runtime.py +0 -0
- {plain-0.73.0 → plain-0.75.0}/tests/test_wsgi.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: plain
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.75.0
|
4
4
|
Summary: A web framework for building products with Python.
|
5
5
|
Author-email: Dave Gaeddert <dave.gaeddert@dropseed.dev>
|
6
6
|
License-File: LICENSE
|
@@ -44,7 +44,7 @@ The `plain` package includes everything you need to start handling web requests
|
|
44
44
|
- [plain.cache](/plain-cache/plain/cache/README.md) - A database-driven general purpose cache.
|
45
45
|
- [plain.email](/plain-email/plain/email/README.md) - Send emails with SMTP or custom backends.
|
46
46
|
- [plain.sessions](/plain-sessions/plain/sessions/README.md) - User sessions and cookies.
|
47
|
-
- [plain.
|
47
|
+
- [plain.jobs](/plain-jobs/plain/jobs/README.md) - Background jobs stored in the database.
|
48
48
|
- [plain.api](/plain-api/plain/api/README.md) - Build APIs with Plain views.
|
49
49
|
|
50
50
|
## Auth Packages
|
@@ -1,5 +1,26 @@
|
|
1
1
|
# plain changelog
|
2
2
|
|
3
|
+
## [0.75.0](https://github.com/dropseed/plain/releases/plain@0.75.0) (2025-10-10)
|
4
|
+
|
5
|
+
### What's changed
|
6
|
+
|
7
|
+
- Documentation references updated from `plain-worker` to `plain-jobs` following the package rename ([24219856e0](https://github.com/dropseed/plain/commit/24219856e0))
|
8
|
+
|
9
|
+
### Upgrade instructions
|
10
|
+
|
11
|
+
- No changes required
|
12
|
+
|
13
|
+
## [0.74.0](https://github.com/dropseed/plain/releases/plain@0.74.0) (2025-10-08)
|
14
|
+
|
15
|
+
### What's changed
|
16
|
+
|
17
|
+
- The `plain agent request` command now displays request ID in the response output ([4a20cfa3fc](https://github.com/dropseed/plain/commit/4a20cfa3fc))
|
18
|
+
- Request headers are now included in OpenTelemetry tracing baggage for improved observability ([08a3376d06](https://github.com/dropseed/plain/commit/08a3376d06))
|
19
|
+
|
20
|
+
### Upgrade instructions
|
21
|
+
|
22
|
+
- No changes required
|
23
|
+
|
3
24
|
## [0.73.0](https://github.com/dropseed/plain/releases/plain@0.73.0) (2025-10-07)
|
4
25
|
|
5
26
|
### What's changed
|
@@ -31,7 +31,7 @@ The `plain` package includes everything you need to start handling web requests
|
|
31
31
|
- [plain.cache](/plain-cache/plain/cache/README.md) - A database-driven general purpose cache.
|
32
32
|
- [plain.email](/plain-email/plain/email/README.md) - Send emails with SMTP or custom backends.
|
33
33
|
- [plain.sessions](/plain-sessions/plain/sessions/README.md) - User sessions and cookies.
|
34
|
-
- [plain.
|
34
|
+
- [plain.jobs](/plain-jobs/plain/jobs/README.md) - Background jobs stored in the database.
|
35
35
|
- [plain.api](/plain-api/plain/api/README.md) - Build APIs with Plain views.
|
36
36
|
|
37
37
|
## Auth Packages
|
@@ -38,7 +38,7 @@ The `plain chores run` command will execute all registered chores. When and how
|
|
38
38
|
There are several ways you can run chores depending on your needs:
|
39
39
|
|
40
40
|
- on deploy
|
41
|
-
- as a [`plain.
|
41
|
+
- as a [`plain.jobs` scheduled job](/plain-jobs/plain/jobs/README.md#scheduled-jobs)
|
42
42
|
- as a cron job (using any cron-like system where your app is hosted)
|
43
43
|
- manually as needed
|
44
44
|
|
@@ -72,9 +72,6 @@ def request(
|
|
72
72
|
try:
|
73
73
|
user = User.query.get(id=user_id)
|
74
74
|
client.force_login(user)
|
75
|
-
click.secho(
|
76
|
-
f"Authenticated as user {user_id}", fg="green", dim=True
|
77
|
-
)
|
78
75
|
except User.DoesNotExist:
|
79
76
|
click.secho(f"User {user_id} not found", fg="red", err=True)
|
80
77
|
return
|
@@ -134,23 +131,28 @@ def request(
|
|
134
131
|
return
|
135
132
|
|
136
133
|
# Display response information
|
137
|
-
click.secho(
|
138
|
-
f"HTTP {response.status_code}",
|
139
|
-
fg="green" if response.status_code < 400 else "red",
|
140
|
-
bold=True,
|
141
|
-
)
|
134
|
+
click.secho("Response:", fg="yellow", bold=True)
|
142
135
|
|
143
|
-
#
|
144
|
-
|
145
|
-
click.secho(f"Authenticated user: {response.user}", fg="blue", dim=True)
|
136
|
+
# Status code
|
137
|
+
click.echo(f" Status: {response.status_code}")
|
146
138
|
|
147
|
-
|
139
|
+
# Request ID
|
140
|
+
click.echo(f" Request ID: {response.wsgi_request.unique_id}")
|
141
|
+
|
142
|
+
# User
|
143
|
+
if response.user:
|
144
|
+
click.echo(f" Authenticated user: {response.user}")
|
145
|
+
|
146
|
+
# URL pattern
|
147
|
+
if response.resolver_match:
|
148
148
|
match = response.resolver_match
|
149
149
|
namespaced_url_name = getattr(match, "namespaced_url_name", None)
|
150
150
|
url_name_attr = getattr(match, "url_name", None)
|
151
151
|
url_name = namespaced_url_name or url_name_attr
|
152
152
|
if url_name:
|
153
|
-
click.
|
153
|
+
click.echo(f" URL pattern: {url_name}")
|
154
|
+
|
155
|
+
click.echo()
|
154
156
|
|
155
157
|
# Show headers
|
156
158
|
if response.headers:
|
@@ -94,6 +94,9 @@ class BaseHandler:
|
|
94
94
|
span_attributes[url_attributes.URL_QUERY] = query_string
|
95
95
|
|
96
96
|
span_context = baggage.set_baggage("http.request.cookies", request.cookies)
|
97
|
+
span_context = baggage.set_baggage(
|
98
|
+
"http.request.headers", request.headers, span_context
|
99
|
+
)
|
97
100
|
|
98
101
|
with tracer.start_as_current_span(
|
99
102
|
f"{request.method} {request.path_info}",
|
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
|
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
|