smartystreets-python-sdk 7.2.0__tar.gz → 8.0.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.
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/PKG-INFO +2 -2
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/international_street/__init__.py +1 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/international_street/client.py +8 -1
- smartystreets_python_sdk-8.0.0/smartystreets_python_sdk/international_street/language_mode.py +27 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/international_street/lookup.py +5 -1
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk.egg-info/PKG-INFO +2 -2
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk_version/__init__.py +1 -1
- smartystreets_python_sdk-7.2.0/smartystreets_python_sdk/international_street/language_mode.py +0 -3
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/LICENSE.md +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/README.md +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/setup.cfg +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/setup.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/__init__.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/basic_auth_credentials.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/batch.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/client_builder.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/custom_header_sender.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/custom_query_sender.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/errors.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/exceptions.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/international_autocomplete/__init__.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/international_autocomplete/candidate.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/international_autocomplete/client.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/international_autocomplete/lookup.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/international_postal_code/__init__.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/international_postal_code/candidate.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/international_postal_code/client.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/international_postal_code/lookup.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/international_street/analysis.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/international_street/candidate.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/international_street/changes.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/international_street/components.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/international_street/metadata.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/international_street/rootlevel.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/license_sender.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/native_serializer.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/proxy.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/request.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/requests_sender.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/response.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/retry_sender.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/shared_credentials.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/signing_sender.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/static_credentials.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/status_code_sender.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/url_prefix_sender.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_autocomplete/__init__.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_autocomplete/client.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_autocomplete/geolocation_type.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_autocomplete/lookup.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_autocomplete/source.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_autocomplete/suggestion.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_autocomplete_pro/__init__.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_autocomplete_pro/client.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_autocomplete_pro/geolocation_type.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_autocomplete_pro/lookup.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_autocomplete_pro/source.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_autocomplete_pro/suggestion.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_enrichment/__init__.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_enrichment/business/__init__.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_enrichment/business/detail.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_enrichment/business/summary.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_enrichment/client.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_enrichment/lookup.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_enrichment/response.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_extract/__init__.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_extract/address.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_extract/client.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_extract/lookup.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_extract/metadata.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_extract/result.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_reverse_geo/__init__.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_reverse_geo/address.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_reverse_geo/client.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_reverse_geo/coordinate.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_reverse_geo/lookup.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_reverse_geo/response.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_reverse_geo/result.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_reverse_geo/source.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_street/__init__.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_street/analysis.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_street/candidate.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_street/client.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_street/component_analysis.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_street/components.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_street/lookup.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_street/match_info.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_street/match_type.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_street/metadata.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_street/output_format.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_zipcode/__init__.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_zipcode/alternate_county.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_zipcode/city.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_zipcode/client.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_zipcode/lookup.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_zipcode/result.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/us_zipcode/zipcode.py +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk.egg-info/SOURCES.txt +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk.egg-info/dependency_links.txt +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk.egg-info/requires.txt +0 -0
- {smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk.egg-info/top_level.txt +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: smartystreets_python_sdk
|
|
3
|
-
Version:
|
|
3
|
+
Version: 8.0.0
|
|
4
4
|
Summary: An official library to help Python developers easily access the SmartyStreets APIs
|
|
5
5
|
Home-page: https://github.com/smartystreets/smartystreets-python-sdk
|
|
6
|
-
Download-URL: https://github.com/smartystreets/smartystreets-python-sdk/tarball/
|
|
6
|
+
Download-URL: https://github.com/smartystreets/smartystreets-python-sdk/tarball/8.0.0
|
|
7
7
|
Author: SmartyStreets SDK Team
|
|
8
8
|
Author-email: support@smartystreets.com
|
|
9
9
|
License: Apache 2
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from smartystreets_python_sdk import Request
|
|
2
2
|
from smartystreets_python_sdk.international_street import Candidate
|
|
3
|
+
from smartystreets_python_sdk.international_street.language_mode import LanguageMode
|
|
3
4
|
|
|
4
5
|
|
|
5
6
|
class Client:
|
|
@@ -32,7 +33,7 @@ class Client:
|
|
|
32
33
|
self.add_parameter(request, 'input_id', lookup.input_id)
|
|
33
34
|
self.add_parameter(request, 'country', lookup.country)
|
|
34
35
|
self.add_parameter(request, 'geocode', str(lookup.geocode).lower())
|
|
35
|
-
self.add_parameter(request, 'language', lookup.language)
|
|
36
|
+
self.add_parameter(request, 'language', self.normalized_language(lookup.language))
|
|
36
37
|
self.add_parameter(request, 'freeform', lookup.freeform)
|
|
37
38
|
self.add_parameter(request, 'address1', lookup.address1)
|
|
38
39
|
self.add_parameter(request, 'address2', lookup.address2)
|
|
@@ -57,3 +58,9 @@ class Client:
|
|
|
57
58
|
def add_parameter(request, key, value):
|
|
58
59
|
if value and value != 'none':
|
|
59
60
|
request.parameters[key] = value
|
|
61
|
+
|
|
62
|
+
@staticmethod
|
|
63
|
+
def normalized_language(language):
|
|
64
|
+
if language is None:
|
|
65
|
+
return None
|
|
66
|
+
return LanguageMode.from_value(language).value
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
from enum import Enum
|
|
2
|
+
|
|
3
|
+
from smartystreets_python_sdk.exceptions import UnprocessableEntityError
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class LanguageMode(Enum):
|
|
7
|
+
"""
|
|
8
|
+
A closed set of valid Language values, the closest Python equivalent to an enum-constrained field.
|
|
9
|
+
"""
|
|
10
|
+
NATIVE = 'native'
|
|
11
|
+
LATIN = 'latin'
|
|
12
|
+
|
|
13
|
+
@staticmethod
|
|
14
|
+
def from_value(value):
|
|
15
|
+
"""
|
|
16
|
+
Resolves a LanguageMode instance or a raw value (eg. from user input or config) into a LanguageMode,
|
|
17
|
+
matching 'native'/'latin' regardless of case.
|
|
18
|
+
"""
|
|
19
|
+
if isinstance(value, LanguageMode):
|
|
20
|
+
return value
|
|
21
|
+
|
|
22
|
+
for mode in LanguageMode:
|
|
23
|
+
if str(value).lower() == mode.value:
|
|
24
|
+
return mode
|
|
25
|
+
|
|
26
|
+
raise UnprocessableEntityError(
|
|
27
|
+
"invalid Language value; must be unset, 'native', or 'latin' (case-insensitive)")
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
from smartystreets_python_sdk.exceptions import UnprocessableEntityError
|
|
2
|
+
from smartystreets_python_sdk.international_street.language_mode import LanguageMode
|
|
2
3
|
|
|
3
4
|
|
|
4
5
|
class Lookup:
|
|
@@ -68,6 +69,9 @@ class Lookup:
|
|
|
68
69
|
|
|
69
70
|
if self.field_is_missing(self.freeform) and self.field_is_missing(self.address1):
|
|
70
71
|
raise UnprocessableEntityError('Either freeform or address1 is required.')
|
|
71
|
-
|
|
72
|
+
|
|
73
|
+
if self.language is not None:
|
|
74
|
+
LanguageMode.from_value(self.language)
|
|
75
|
+
|
|
72
76
|
def add_custom_parameter(self, parameter, value):
|
|
73
77
|
self.custom_parameter_array[parameter] = value
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: smartystreets_python_sdk
|
|
3
|
-
Version:
|
|
3
|
+
Version: 8.0.0
|
|
4
4
|
Summary: An official library to help Python developers easily access the SmartyStreets APIs
|
|
5
5
|
Home-page: https://github.com/smartystreets/smartystreets-python-sdk
|
|
6
|
-
Download-URL: https://github.com/smartystreets/smartystreets-python-sdk/tarball/
|
|
6
|
+
Download-URL: https://github.com/smartystreets/smartystreets-python-sdk/tarball/8.0.0
|
|
7
7
|
Author: SmartyStreets SDK Team
|
|
8
8
|
Author-email: support@smartystreets.com
|
|
9
9
|
License: Apache 2
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
__version__ = '0.0.0' # DO NOT EDIT (this is updated by a build job when a new release is published)
|
|
2
|
-
__version__="
|
|
2
|
+
__version__="8.0.0"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/batch.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/errors.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
|
{smartystreets_python_sdk-7.2.0 → smartystreets_python_sdk-8.0.0}/smartystreets_python_sdk/proxy.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|