tinybird 0.0.1.dev202__tar.gz → 0.0.1.dev203__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.
Potentially problematic release.
This version of tinybird might be problematic. Click here for more details.
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/PKG-INFO +1 -1
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/sql_template.py +2 -1
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/__cli__.py +2 -2
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/check_pypi.py +3 -5
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/cli.py +12 -11
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/datafile/parse_pipe.py +6 -3
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird.egg-info/PKG-INFO +1 -1
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/setup.cfg +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/__cli__.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/ch_utils/constants.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/ch_utils/engine.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/check_pypi.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/client.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/config.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/connectors.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/context.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/datafile.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/datatypes.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/feedback_manager.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/git_settings.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/prompts.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/sql.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/sql_template_fmt.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/sql_toolset.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/syncasync.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/cli.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/client.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/config.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/build.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/cicd.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/common.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/config.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/connection.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/copy.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/create.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/datafile/build.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/datafile/build_common.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/datafile/build_datasource.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/datafile/build_pipe.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/datafile/common.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/datafile/diff.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/datafile/exceptions.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/datafile/fixture.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/datafile/format_common.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/datafile/format_datasource.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/datafile/format_pipe.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/datafile/parse_datasource.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/datafile/pipe_checker.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/datafile/playground.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/datafile/pull.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/datasource.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/deployment.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/deprecations.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/dev_server.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/endpoint.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/exceptions.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/feedback_manager.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/info.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/infra.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/job.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/llm.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/llm_utils.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/local.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/local_common.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/login.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/logout.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/materialization.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/mock.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/open.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/pipe.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/project.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/regions.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/secret.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/shell.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/table.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/telemetry.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/test.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/tinyunit/tinyunit.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/tinyunit/tinyunit_lib.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/token.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/watch.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/workspace.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/workspace_members.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb_cli.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb_cli_modules/auth.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb_cli_modules/branch.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb_cli_modules/cicd.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb_cli_modules/cli.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb_cli_modules/common.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb_cli_modules/config.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb_cli_modules/connection.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb_cli_modules/datasource.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb_cli_modules/exceptions.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb_cli_modules/fmt.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb_cli_modules/job.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb_cli_modules/pipe.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb_cli_modules/regions.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb_cli_modules/tag.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb_cli_modules/telemetry.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb_cli_modules/test.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb_cli_modules/tinyunit/tinyunit.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb_cli_modules/tinyunit/tinyunit_lib.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb_cli_modules/workspace.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb_cli_modules/workspace_members.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tornado_template.py +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird.egg-info/SOURCES.txt +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird.egg-info/dependency_links.txt +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird.egg-info/entry_points.txt +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird.egg-info/requires.txt +0 -0
- {tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird.egg-info/top_level.txt +0 -0
|
@@ -2018,6 +2018,7 @@ def render_sql_template(
|
|
|
2018
2018
|
test_mode: bool = False,
|
|
2019
2019
|
name: Optional[str] = None,
|
|
2020
2020
|
local_variables: Optional[dict] = None,
|
|
2021
|
+
secrets_in_test_mode: Optional[bool] = True,
|
|
2021
2022
|
) -> Tuple[str, TemplateExecutionResults, list]:
|
|
2022
2023
|
"""
|
|
2023
2024
|
>>> render_sql_template("select * from table where f = {{Float32(foo)}}", { 'foo': -1 })
|
|
@@ -2300,7 +2301,7 @@ def render_sql_template(
|
|
|
2300
2301
|
if secrets:
|
|
2301
2302
|
v.update({"tb_secrets": secrets})
|
|
2302
2303
|
|
|
2303
|
-
if is_tb_secret:
|
|
2304
|
+
if is_tb_secret and secrets_in_test_mode:
|
|
2304
2305
|
v.update({TB_SECRET_IN_TEST_MODE: None})
|
|
2305
2306
|
|
|
2306
2307
|
v.update(type_fns_check)
|
|
@@ -4,5 +4,5 @@ __description__ = 'Tinybird Command Line Tool'
|
|
|
4
4
|
__url__ = 'https://www.tinybird.co/docs/forward/commands'
|
|
5
5
|
__author__ = 'Tinybird'
|
|
6
6
|
__author_email__ = 'support@tinybird.co'
|
|
7
|
-
__version__ = '0.0.1.
|
|
8
|
-
__revision__ = '
|
|
7
|
+
__version__ = '0.0.1.dev203'
|
|
8
|
+
__revision__ = 'c2f7de3'
|
|
@@ -2,10 +2,8 @@ from typing import Optional
|
|
|
2
2
|
|
|
3
3
|
import requests
|
|
4
4
|
|
|
5
|
-
from tinybird.feedback_manager import FeedbackManager
|
|
6
5
|
from tinybird.syncasync import sync_to_async
|
|
7
6
|
from tinybird.tb.modules.common import getenv_bool
|
|
8
|
-
from tinybird.tb.modules.exceptions import CLIException
|
|
9
7
|
|
|
10
8
|
PYPY_URL = "https://pypi.org/pypi/tinybird/json"
|
|
11
9
|
requests_get = sync_to_async(requests.get, thread_sensitive=False)
|
|
@@ -18,9 +16,9 @@ class CheckPypi:
|
|
|
18
16
|
disable_ssl: bool = getenv_bool("TB_DISABLE_SSL_CHECKS", False)
|
|
19
17
|
response: requests.Response = await requests_get(PYPY_URL, verify=not disable_ssl)
|
|
20
18
|
if response.status_code != 200:
|
|
21
|
-
|
|
19
|
+
return None
|
|
22
20
|
version = response.json()["info"]["version"]
|
|
23
|
-
except Exception
|
|
24
|
-
|
|
21
|
+
except Exception:
|
|
22
|
+
return None
|
|
25
23
|
|
|
26
24
|
return version
|
|
@@ -110,19 +110,20 @@ async def cli(
|
|
|
110
110
|
|
|
111
111
|
if not environ.get("PYTEST", None) and version_warning and not token:
|
|
112
112
|
latest_version = await CheckPypi().get_latest_version()
|
|
113
|
+
if latest_version:
|
|
114
|
+
if "x.y.z" in CURRENT_VERSION:
|
|
115
|
+
click.echo(FeedbackManager.warning_development_cli())
|
|
113
116
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
if "x.y.z" not in CURRENT_VERSION and latest_version != CURRENT_VERSION:
|
|
118
|
-
click.echo(
|
|
119
|
-
FeedbackManager.warning(message=f"** New version available. {CURRENT_VERSION} -> {latest_version}")
|
|
120
|
-
)
|
|
121
|
-
click.echo(
|
|
122
|
-
FeedbackManager.warning(
|
|
123
|
-
message="** Run `tb update` to update or `export TB_VERSION_WARNING=0` to skip the check.\n"
|
|
117
|
+
if "x.y.z" not in CURRENT_VERSION and latest_version != CURRENT_VERSION:
|
|
118
|
+
click.echo(
|
|
119
|
+
FeedbackManager.warning(message=f"** New version available. {CURRENT_VERSION} -> {latest_version}")
|
|
124
120
|
)
|
|
125
|
-
|
|
121
|
+
click.echo(
|
|
122
|
+
FeedbackManager.warning(
|
|
123
|
+
message="** Run `tb update` to update or `export TB_VERSION_WARNING=0` to skip the check.\n"
|
|
124
|
+
)
|
|
125
|
+
)
|
|
126
|
+
|
|
126
127
|
if debug:
|
|
127
128
|
logging.basicConfig(level=logging.DEBUG)
|
|
128
129
|
|
|
@@ -52,10 +52,13 @@ def parse_pipe(
|
|
|
52
52
|
node["type"] = node["type"].lower()
|
|
53
53
|
sql = node.get("sql", "")
|
|
54
54
|
if sql.strip()[0] == "%":
|
|
55
|
-
#
|
|
56
|
-
# for the variables in the template.
|
|
55
|
+
# Setting test_mode=True to ignore errors on required parameters
|
|
57
56
|
sql, _, variable_warnings = render_sql_template(
|
|
58
|
-
sql[1:],
|
|
57
|
+
sql[1:],
|
|
58
|
+
name=node["name"],
|
|
59
|
+
secrets=list(secrets.keys()) if secrets else None,
|
|
60
|
+
test_mode=True,
|
|
61
|
+
secrets_in_test_mode=False,
|
|
59
62
|
)
|
|
60
63
|
doc.warnings = variable_warnings
|
|
61
64
|
# it'll fail with a ModuleNotFoundError when the toolset is not available but it returns the parsed doc
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/datafile/build_common.py
RENAMED
|
File without changes
|
{tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/datafile/build_datasource.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/datafile/format_common.py
RENAMED
|
File without changes
|
{tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/datafile/format_datasource.py
RENAMED
|
File without changes
|
|
File without changes
|
{tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/datafile/parse_datasource.py
RENAMED
|
File without changes
|
{tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/datafile/pipe_checker.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb/modules/tinyunit/tinyunit_lib.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb_cli_modules/tinyunit/tinyunit.py
RENAMED
|
File without changes
|
{tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb_cli_modules/tinyunit/tinyunit_lib.py
RENAMED
|
File without changes
|
|
File without changes
|
{tinybird-0.0.1.dev202 → tinybird-0.0.1.dev203}/tinybird/tb_cli_modules/workspace_members.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|