From 3a15a75015cabf0f1262de48413aa69df0f885ee Mon Sep 17 00:00:00 2001 From: Martin Durant Date: Fri, 28 Aug 2020 13:26:44 -0400 Subject: [PATCH 1/7] Simple find() for recursive rm --- gcsfs/core.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/gcsfs/core.py b/gcsfs/core.py index 3938c79d..0f09309e 100644 --- a/gcsfs/core.py +++ b/gcsfs/core.py @@ -607,7 +607,7 @@ async def _list_objects(self, path): self.dircache[path] = out return out - async def _do_list_objects(self, path, max_results=None): + async def _do_list_objects(self, path, max_results=None, delimiter="/"): """Object listing for the given {bucket}/{prefix}/ path.""" bucket, prefix = self.split_path(path) prefix = None if not prefix else prefix.rstrip("/") + "/" @@ -618,7 +618,7 @@ async def _do_list_objects(self, path, max_results=None): "GET", "b/{}/o/", bucket, - delimiter="/", + delimiter=delimiter, prefix=prefix, maxResults=max_results, json_out=True, @@ -633,7 +633,7 @@ async def _do_list_objects(self, path, max_results=None): "GET", "b/{}/o/", bucket, - delimiter="/", + delimiter=delimiter, prefix=prefix, maxResults=max_results, pageToken=next_page_token, @@ -972,9 +972,9 @@ async def _rm(self, paths, batchsize): self._rm_files(files[i : i + batchsize]) for i in range(0, len(files), batchsize) ] - + [self._rmdir(d) for d in dirs] - ) + ) ) + await asyncio.gather(*[self._rmdir(d) for d in dirs]) async def _pipe_file( self, @@ -1066,6 +1066,12 @@ async def _isdir(self, path): except IOError: return False + def find(self, path, withdirs=False, detail=False): + out, _ = sync(self.loop, self._do_list_objects, path, delimiter=None) + if detail: + return out + return [o['name'] for o in out] + async def _get_file(self, rpath, lpath, **kwargs): if await self._isdir(rpath): return From 88152a5ce94746234cb1409e263da085b7f0d813 Mon Sep 17 00:00:00 2001 From: Martin Durant Date: Mon, 31 Aug 2020 17:14:24 -0400 Subject: [PATCH 2/7] Ignore batch rm where file is already gone --- gcsfs/core.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gcsfs/core.py b/gcsfs/core.py index 0f09309e..d746e9d6 100644 --- a/gcsfs/core.py +++ b/gcsfs/core.py @@ -966,14 +966,18 @@ async def _rm_files(self, paths): async def _rm(self, paths, batchsize): files = [p for p in paths if self.split_path(p)[1]] dirs = [p for p in paths if not self.split_path(p)[1]] - await asyncio.gather( + exs = await asyncio.gather( *( [ self._rm_files(files[i : i + batchsize]) for i in range(0, len(files), batchsize) ] - ) + ), + return_exceptions=True ) + exs = [ex for ex in exs if "No such object" not in str(ex)] + if exs: + raise exs[0] await asyncio.gather(*[self._rmdir(d) for d in dirs]) async def _pipe_file( @@ -1067,6 +1071,7 @@ async def _isdir(self, path): return False def find(self, path, withdirs=False, detail=False): + path = self._strip_protocol(path) out, _ = sync(self.loop, self._do_list_objects, path, delimiter=None) if detail: return out From bdf3a6e03ac2025efdbbd8f87950a0fd76db9b9d Mon Sep 17 00:00:00 2001 From: Martin Durant Date: Mon, 31 Aug 2020 17:17:52 -0400 Subject: [PATCH 3/7] Also ignore successes :) --- gcsfs/core.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gcsfs/core.py b/gcsfs/core.py index d746e9d6..9b9b8483 100644 --- a/gcsfs/core.py +++ b/gcsfs/core.py @@ -975,7 +975,8 @@ async def _rm(self, paths, batchsize): ), return_exceptions=True ) - exs = [ex for ex in exs if "No such object" not in str(ex)] + exs = [ex for ex in exs + if ex is not None and "No such object" not in str(ex)] if exs: raise exs[0] await asyncio.gather(*[self._rmdir(d) for d in dirs]) From f275219bb9be86874b00f8a79e73ad78d991f508 Mon Sep 17 00:00:00 2001 From: Martin Durant Date: Wed, 2 Sep 2020 13:03:23 -0400 Subject: [PATCH 4/7] rerecord --- gcsfs/core.py | 25 +- gcsfs/tests/conftest.py | 4 +- gcsfs/tests/recordings/test_array.yaml | 332 +- gcsfs/tests/recordings/test_attrs.yaml | 583 +-- gcsfs/tests/recordings/test_bad_open.yaml | 182 +- .../test_bigger_than_block_read.yaml | 930 ++-- gcsfs/tests/recordings/test_copy.yaml | 893 ++-- gcsfs/tests/recordings/test_current.yaml | 144 +- gcsfs/tests/recordings/test_du.yaml | 1300 ++++-- gcsfs/tests/recordings/test_errors.yaml | 417 +- gcsfs/tests/recordings/test_file_access.yaml | 494 +- gcsfs/tests/recordings/test_file_info.yaml | 487 +- gcsfs/tests/recordings/test_flush.yaml | 429 +- gcsfs/tests/recordings/test_gcs_glob.yaml | 1700 +++++-- gcsfs/tests/recordings/test_get_put.yaml | 3050 ++++++------ .../recordings/test_get_put_recursive.yaml | 4119 +++++++++-------- gcsfs/tests/recordings/test_info.yaml | 338 +- gcsfs/tests/recordings/test_iterable.yaml | 476 +- gcsfs/tests/recordings/test_ls.yaml | 849 ++-- gcsfs/tests/recordings/test_ls2.yaml | 322 +- gcsfs/tests/recordings/test_ls_detail.yaml | 796 ++-- gcsfs/tests/recordings/test_ls_touch.yaml | 387 +- gcsfs/tests/recordings/test_many_connect.yaml | 1450 ++---- gcsfs/tests/recordings/test_map_array.yaml | 278 +- .../tests/recordings/test_map_bytearray.yaml | 278 +- .../recordings/test_map_clear_empty.yaml | 1115 ++--- .../recordings/test_map_complex_keys.yaml | 570 ++- .../test_map_default_gcsfilesystem.yaml | 148 +- gcsfs/tests/recordings/test_map_errors.yaml | 164 +- gcsfs/tests/recordings/test_map_pickle.yaml | 292 +- gcsfs/tests/recordings/test_map_simple.yaml | 1461 ++---- .../tests/recordings/test_map_with_data.yaml | 1397 +++--- gcsfs/tests/recordings/test_merge.yaml | 395 +- gcsfs/tests/recordings/test_move.yaml | 953 ++-- gcsfs/tests/recordings/test_multi_upload.yaml | 954 ++-- gcsfs/tests/recordings/test_new_bucket.yaml | 387 +- gcsfs/tests/recordings/test_next.yaml | 818 ++-- gcsfs/tests/recordings/test_pickle.yaml | 328 +- gcsfs/tests/recordings/test_read_block.yaml | 1515 +++--- .../test_read_keys_from_bucket.yaml | 962 ++-- gcsfs/tests/recordings/test_read_small.yaml | 1045 +++-- gcsfs/tests/recordings/test_readable.yaml | 291 +- gcsfs/tests/recordings/test_readline.yaml | 1404 +++--- .../recordings/test_readline_blocksize.yaml | 332 +- .../tests/recordings/test_readline_empty.yaml | 291 +- .../recordings/test_readline_from_cache.yaml | 332 +- .../tests/recordings/test_request_header.yaml | 170 +- .../recordings/test_request_user_project.yaml | 170 +- .../test_request_user_project_string.yaml | 170 +- gcsfs/tests/recordings/test_rm.yaml | 438 +- gcsfs/tests/recordings/test_rm_batch.yaml | 451 +- gcsfs/tests/recordings/test_rm_recursive.yaml | 445 +- gcsfs/tests/recordings/test_seek.yaml | 947 ++-- .../tests/recordings/test_seek_delimiter.yaml | 838 ++-- gcsfs/tests/recordings/test_seekable.yaml | 291 +- gcsfs/tests/recordings/test_simple.yaml | 38 +- .../tests/recordings/test_simple_upload.yaml | 301 +- gcsfs/tests/recordings/test_url.yaml | 823 ++-- .../recordings/test_user_project_cat.yaml | 43 +- gcsfs/tests/recordings/test_writable.yaml | 291 +- gcsfs/tests/recordings/test_write_blocks.yaml | 293 +- .../tests/recordings/test_write_blocks2.yaml | 293 +- gcsfs/tests/recordings/test_write_fails.yaml | 314 +- gcsfs/tests/settings.py | 4 - gcsfs/tests/test_core.py | 12 +- gcsfs/tests/utils.py | 7 - 66 files changed, 22146 insertions(+), 19610 deletions(-) diff --git a/gcsfs/core.py b/gcsfs/core.py index 9b9b8483..b2997814 100644 --- a/gcsfs/core.py +++ b/gcsfs/core.py @@ -36,8 +36,15 @@ from .utils import ChecksumError, HttpError, is_retriable from . import __version__ as version -logger = logging.getLogger(__name__) -logging.basicConfig() +logger = logging.getLogger("gcsfs") +if "GCSFS_DEBUG" in os.environ: + handle = logging.StreamHandler() + formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s ' + '- %(message)s') + handle.setFormatter(formatter) + logger.addHandler(handle) + logger.setLevel("DEBUG") + # client created 2018-01-16 not_secret = { @@ -468,6 +475,7 @@ def _get_args(self, path, *args, **kwargs): async def _call( self, method, path, *args, json_out=False, info_out=False, **kwargs ): + logger.debug(f"{method.upper()}: {path}, {args}, {kwargs}") self.maybe_refresh() path, jsonin, datain, headers, kwargs = self._get_args(path, *args, **kwargs) @@ -1071,11 +1079,17 @@ async def _isdir(self, path): except IOError: return False - def find(self, path, withdirs=False, detail=False): + def find(self, path, withdirs=False, detail=False, **kwargs): path = self._strip_protocol(path) + bucket, key = self.split_path(path) out, _ = sync(self.loop, self._do_list_objects, path, delimiter=None) + if not out and key: + try: + out = [sync(self.loop, self._get_object, path)] + except FileNotFoundError: + out = [] if detail: - return out + return {o['name']: o for o in out} return [o['name'] for o in out] async def _get_file(self, rpath, lpath, **kwargs): @@ -1477,7 +1491,8 @@ async def initiate_upload( json=j, headers={"X-Upload-Content-Type": content_type}, ) - return headers["Location"] + loc = headers["Location"] + return loc[0] if isinstance(loc, list) else loc # <- for CVR responses async def simple_upload( diff --git a/gcsfs/tests/conftest.py b/gcsfs/tests/conftest.py index 28155ca0..4580b72d 100644 --- a/gcsfs/tests/conftest.py +++ b/gcsfs/tests/conftest.py @@ -31,7 +31,9 @@ def build_response(vcr_request, vcr_response, history): response.status = vcr_response["status"]["code"] response._body = vcr_response["body"].get("string", b"") response.reason = vcr_response["status"]["message"] - response._headers = aios.CIMultiDictProxy(aios.CIMultiDict(vcr_response["headers"])) + head = {k: v[0] if isinstance(v, list) else v + for k, v in vcr_response["headers"].items()} + response._headers = aios.CIMultiDictProxy(aios.CIMultiDict(head)) response._history = tuple(history) response.close() diff --git a/gcsfs/tests/recordings/test_array.yaml b/gcsfs/tests/recordings/test_array.yaml index 24fb3e13..198aae57 100644 --- a/gcsfs/tests/recordings/test_array.yaml +++ b/gcsfs/tests/recordings/test_array.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIABrdDV8C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULne1I82+NTiHzLPQE7Oe - lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmz25KllYVNxZHViOXh1hblIzd9LBFmopst5Y6wh - L2QwQYhD8Cs8y+tn+UCoWEcf/P+X4wMEC22h4wAAAA== + H4sIAIfMT18C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULne1I82+NTiHzLPQE7Oe + lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmzWRWr+XiLIQjWpk8rBqyuqMdaQFzKYIMTL+SlJ + LQubiiMPwa/wLK+f5QOhYh198P9fjg+YY4lN4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:28:12.244Z\",\n \"updated\": \"2020-07-14T16:28:12.244Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: null @@ -152,10 +136,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUlwf_PcN6uXaZWoOmaacEBSPudEtXwGTR6sbtJ0IUxTLbBl8zhKbs-JvgZYGY7moXLNHdMyhMXjCCmL6RX9vZv8BH4CAA + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uyl163EEzXMOWvz8PQUiomNJro6qer4CZsQL35JdP_Aec4HRnE4IiFMnraKkC6xVftIdafY-QZzoMRhfUaxblf7gyxAKg Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -170,30 +154,38 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUlwf_PcN6uXaZWoOmaacEBSPudEtXwGTR6sbtJ0IUxTLbBl8zhKbs-JvgZYGY7moXLNHdMyhMXjCCmL6RX9vZv8BH4CAA + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uyl163EEzXMOWvz8PQUiomNJro6qer4CZsQL35JdP_Aec4HRnE4IiFMnraKkC6xVftIdafY-QZzoMRhfUaxblf7gyxAKg response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594744093172603\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065225165403\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744093172603&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065225165403&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744093172603\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065225165403\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"1000\",\n \"md5Hash\": \"dkRnLQSSkPA5DZyZPH00PQ==\",\n - \ \"crc32c\": \"jS1TJA==\",\n \"etag\": \"CPvGudmUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:28:13.172Z\",\n \"updated\": \"2020-07-14T16:28:13.172Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:28:13.172Z\"\n}\n" + \ \"crc32c\": \"jS1TJA==\",\n \"etag\": \"CNv035X2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:05.165Z\",\n \"updated\": \"2020-09-02T16:47:05.165Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:05.165Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '753' - Content-Type: application/json; charset=UTF-8 - Etag: CPvGudmUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '749' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CNv035X2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUlwf_PcN6uXaZWoOmaacEBSPudEtXwGTR6sbtJ0IUxTLbBl8zhKbs-JvgZYGY7moXLNHdMyhMXjCCmL6RX9vZv8BH4CAA + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uyl163EEzXMOWvz8PQUiomNJro6qer4CZsQL35JdP_Aec4HRnE4IiFMnraKkC6xVftIdafY-QZzoMRhfUaxblf7gyxAKg - request: body: null headers: {} @@ -201,22 +193,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594744093172603\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065225165403\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744093172603&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065225165403&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744093172603\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065225165403\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"1000\",\n \"md5Hash\": \"dkRnLQSSkPA5DZyZPH00PQ==\",\n - \ \"crc32c\": \"jS1TJA==\",\n \"etag\": \"CPvGudmUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:28:13.172Z\",\n \"updated\": \"2020-07-14T16:28:13.172Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:28:13.172Z\"\n}\n" + \ \"crc32c\": \"jS1TJA==\",\n \"etag\": \"CNv035X2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:05.165Z\",\n \"updated\": \"2020-09-02T16:47:05.165Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:05.165Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '753' - Content-Type: application/json; charset=UTF-8 - Etag: CPvGudmUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '749' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CNv035X2yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -227,93 +226,74 @@ interactions: Range: - bytes=0-999 method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?alt=media&generation=1594744093172603 + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?alt=media&generation=1599065225165403 response: body: string: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '1000' - Content-Range: bytes 0-999/1000 - Content-Type: application/octet-stream - Etag: CPvGudmUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744093172603' - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '1000' + Content-Range: + - bytes 0-999/1000 + Content-Type: + - application/octet-stream + Etag: + - CNv035X2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065225165403' + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 206 message: Partial Content - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744093172603&alt=media -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"tmp/\"\n - \ ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '64' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=tmp%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"tmp/test/\"\n - \ ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '69' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=tmp/ + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065225165403&alt=media - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=tmp%2Ftest%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594744093172603\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065225165403\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744093172603&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065225165403&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744093172603\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599065225165403\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"1000\",\n \"md5Hash\": \"dkRnLQSSkPA5DZyZPH00PQ==\",\n \"crc32c\": - \"jS1TJA==\",\n \"etag\": \"CPvGudmUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:28:13.172Z\",\n \"updated\": \"2020-07-14T16:28:13.172Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:28:13.172Z\"\n }\n ]\n}\n" + \"jS1TJA==\",\n \"etag\": \"CNv035X2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:05.165Z\",\n \"updated\": \"2020-09-02T16:47:05.165Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:05.165Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '879' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '875' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=tmp/test/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -343,21 +323,33 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_YdtH_0zJNbU_AAeBjcxu2fM\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_n4IDxwgngM4_AAHCqdAvmtM\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:28:14 GMT\r\n\r\n\r\n--batch_YdtH_0zJNbU_AAeBjcxu2fM--\r\n" + Wed, 02 Sep 2020 16:47:06 GMT\r\n\r\n\r\n--batch_n4IDxwgngM4_AAHCqdAvmtM--\r\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_YdtH_0zJNbU_AAeBjcxu2fM - Pragma: no-cache - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_n4IDxwgngM4_AAHCqdAvmtM + Pragma: + - no-cache + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_attrs.yaml b/gcsfs/tests/recordings/test_attrs.yaml index ec37ea95..7eb4f5af 100644 --- a/gcsfs/tests/recordings/test_attrs.yaml +++ b/gcsfs/tests/recordings/test_attrs.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAB7dDV8C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP - Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTbbGGvICxlMEKK6ip9z1LKwqTi0Oldy8Jc1F6n5 - e4kgC9U0AL/As7x+lA+EinX4wf9/OT5qoa7S4wAAAA== + H4sIAIrMT18C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP + Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTZ79qllYVNxaHWVb4w15IUMJghRnSs5+MuWi9T8 + vUSQhWoagF/gWV4/ygdCxTr84P+/HB+fT0zw4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:28:16.126Z\",\n \"updated\": \"2020-07-14T16:28:16.126Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: null @@ -152,10 +136,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUnhYK7q-yTDpzQzP-Uwzadszs0uteFA7bAwHHjUjUHbemYtnnbQR6BCgOddKIbJVVsKPoeeKy-Eo9khZs_mFVk-eilWsA + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uy3P-WeSylbJwWJ6O-R2Wuqy0bp1DIuVipkRyGlvLa31uGlzxCwb0JG0Rdbb1CEBNbckuKuUcCqjbVUEyJ56R06ePkySA Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -170,30 +154,38 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUnhYK7q-yTDpzQzP-Uwzadszs0uteFA7bAwHHjUjUHbemYtnnbQR6BCgOddKIbJVVsKPoeeKy-Eo9khZs_mFVk-eilWsA + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uy3P-WeSylbJwWJ6O-R2Wuqy0bp1DIuVipkRyGlvLa31uGlzxCwb0JG0Rdbb1CEBNbckuKuUcCqjbVUEyJ56R06ePkySA response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594744097071502\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065227589165\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744097071502&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065227589165&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744097071502\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065227589165\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n - \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CI7Dp9uUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:28:17.071Z\",\n \"updated\": \"2020-07-14T16:28:17.071Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:28:17.071Z\"\n}\n" + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CK3s85b2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:07.589Z\",\n \"updated\": \"2020-09-02T16:47:07.589Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:07.589Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '750' - Content-Type: application/json; charset=UTF-8 - Etag: CI7Dp9uUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '746' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CK3s85b2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUnhYK7q-yTDpzQzP-Uwzadszs0uteFA7bAwHHjUjUHbemYtnnbQR6BCgOddKIbJVVsKPoeeKy-Eo9khZs_mFVk-eilWsA + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uy3P-WeSylbJwWJ6O-R2Wuqy0bp1DIuVipkRyGlvLa31uGlzxCwb0JG0Rdbb1CEBNbckuKuUcCqjbVUEyJ56R06ePkySA - request: body: null headers: {} @@ -201,22 +193,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594744097071502\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065227589165\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744097071502&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065227589165&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744097071502\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065227589165\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n - \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CI7Dp9uUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:28:17.071Z\",\n \"updated\": \"2020-07-14T16:28:17.071Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:28:17.071Z\"\n}\n" + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CK3s85b2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:07.589Z\",\n \"updated\": \"2020-09-02T16:47:07.589Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:07.589Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '750' - Content-Type: application/json; charset=UTF-8 - Etag: CI7Dp9uUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '746' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CK3s85b2yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -228,22 +227,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594744097071502\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065227589165\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744097071502&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065227589165&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744097071502\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065227589165\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n - \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CI7Dp9uUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:28:17.071Z\",\n \"updated\": \"2020-07-14T16:28:17.071Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:28:17.071Z\"\n}\n" + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CK3s85b2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:07.589Z\",\n \"updated\": \"2020-09-02T16:47:07.589Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:07.589Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '750' - Content-Type: application/json; charset=UTF-8 - Etag: CI7Dp9uUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '746' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CK3s85b2yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -262,10 +268,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUnpNv_xb0saLUXYL0zfQlm4jX5R76Q1mtBR2jbwjqzh88QNT62xTwmkHV4S-02ETNMM5xy7TPEZrNuoi21zZU35u0M29g + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxajsrflFkKxw8rjgXxqgXVxhHc9Tnc-2-gE0fIp4bOG_HZ1Yl8MDNHgQ2Fl05NUCLNSD2Kz9QX92Uc0D9f_Y4oBuDk_w Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -280,31 +286,39 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUnpNv_xb0saLUXYL0zfQlm4jX5R76Q1mtBR2jbwjqzh88QNT62xTwmkHV4S-02ETNMM5xy7TPEZrNuoi21zZU35u0M29g + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxajsrflFkKxw8rjgXxqgXVxhHc9Tnc-2-gE0fIp4bOG_HZ1Yl8MDNHgQ2Fl05NUCLNSD2Kz9QX92Uc0D9f_Y4oBuDk_w response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594744098072503\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065228224452\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744098072503&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065228224452&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744098072503\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065228224452\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n - \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CLfP5NuUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:28:18.072Z\",\n \"updated\": \"2020-07-14T16:28:18.072Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:28:18.072Z\",\n \"metadata\": + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CMTPmpf2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:08.224Z\",\n \"updated\": \"2020-09-02T16:47:08.224Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:08.224Z\",\n \"metadata\": {\n \"foo\": \"blob\"\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '789' - Content-Type: application/json; charset=UTF-8 - Etag: CLfP5NuUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '785' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CMTPmpf2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUnpNv_xb0saLUXYL0zfQlm4jX5R76Q1mtBR2jbwjqzh88QNT62xTwmkHV4S-02ETNMM5xy7TPEZrNuoi21zZU35u0M29g + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxajsrflFkKxw8rjgXxqgXVxhHc9Tnc-2-gE0fIp4bOG_HZ1Yl8MDNHgQ2Fl05NUCLNSD2Kz9QX92Uc0D9f_Y4oBuDk_w - request: body: null headers: {} @@ -312,23 +326,30 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594744098072503\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065228224452\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744098072503&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065228224452&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744098072503\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065228224452\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n - \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CLfP5NuUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:28:18.072Z\",\n \"updated\": \"2020-07-14T16:28:18.072Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:28:18.072Z\",\n \"metadata\": + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CMTPmpf2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:08.224Z\",\n \"updated\": \"2020-09-02T16:47:08.224Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:08.224Z\",\n \"metadata\": {\n \"foo\": \"blob\"\n }\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '789' - Content-Type: application/json; charset=UTF-8 - Etag: CLfP5NuUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '785' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CMTPmpf2yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -342,13 +363,21 @@ interactions: body: string: "{\n \"metadata\": {\n \"foo\": \"blah\"\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '42' - Content-Type: application/json; charset=UTF-8 - Etag: CLfP5NuUzeoCEAI= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '42' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CMTPmpf2yusCEAI= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -360,23 +389,30 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594744098072503\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065228224452\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744098072503&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065228224452&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744098072503\",\n \"metageneration\": \"2\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065228224452\",\n \"metageneration\": \"2\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n - \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CLfP5NuUzeoCEAI=\",\n \"timeCreated\": - \"2020-07-14T16:28:18.072Z\",\n \"updated\": \"2020-07-14T16:28:18.488Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:28:18.072Z\",\n \"metadata\": + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CMTPmpf2yusCEAI=\",\n \"timeCreated\": + \"2020-09-02T16:47:08.224Z\",\n \"updated\": \"2020-09-02T16:47:08.626Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:08.224Z\",\n \"metadata\": {\n \"foo\": \"blah\"\n }\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '789' - Content-Type: application/json; charset=UTF-8 - Etag: CLfP5NuUzeoCEAI= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '785' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CMTPmpf2yusCEAI= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -388,23 +424,30 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594744098072503\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065228224452\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744098072503&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065228224452&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744098072503\",\n \"metageneration\": \"2\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065228224452\",\n \"metageneration\": \"2\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n - \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CLfP5NuUzeoCEAI=\",\n \"timeCreated\": - \"2020-07-14T16:28:18.072Z\",\n \"updated\": \"2020-07-14T16:28:18.488Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:28:18.072Z\",\n \"metadata\": + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CMTPmpf2yusCEAI=\",\n \"timeCreated\": + \"2020-09-02T16:47:08.224Z\",\n \"updated\": \"2020-09-02T16:47:08.626Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:08.224Z\",\n \"metadata\": {\n \"foo\": \"blah\"\n }\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '789' - Content-Type: application/json; charset=UTF-8 - Etag: CLfP5NuUzeoCEAI= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '785' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CMTPmpf2yusCEAI= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -423,10 +466,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUmu9jJrMLW6x49Jd5bmWj_o_L6Oy9abXqdCFO1KZ6puCNxIRxRQc8V-Iv1U9wwmMFMm2y1S-UtwjKVZZrPg-NQzukBpRA + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UzJV3AP5XkhCmgPkemkykQq0liDAJuJPE9oSu1_lCXzwwcxdKS8wGAscG3RJ-6M8tI0umVirkIZ4Whx3EU4I6Tp6HK2Ww Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -441,31 +484,39 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUmu9jJrMLW6x49Jd5bmWj_o_L6Oy9abXqdCFO1KZ6puCNxIRxRQc8V-Iv1U9wwmMFMm2y1S-UtwjKVZZrPg-NQzukBpRA + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UzJV3AP5XkhCmgPkemkykQq0liDAJuJPE9oSu1_lCXzwwcxdKS8wGAscG3RJ-6M8tI0umVirkIZ4Whx3EU4I6Tp6HK2Ww response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594744099471481\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065229283047\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744099471481&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065229283047&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744099471481\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065229283047\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n - \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CPmAutyUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:28:19.471Z\",\n \"updated\": \"2020-07-14T16:28:19.471Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:28:19.471Z\",\n \"metadata\": + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"COed25f2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:09.282Z\",\n \"updated\": \"2020-09-02T16:47:09.282Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:09.282Z\",\n \"metadata\": {\n \"something\": \"not\"\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '794' - Content-Type: application/json; charset=UTF-8 - Etag: CPmAutyUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '790' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - COed25f2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUmu9jJrMLW6x49Jd5bmWj_o_L6Oy9abXqdCFO1KZ6puCNxIRxRQc8V-Iv1U9wwmMFMm2y1S-UtwjKVZZrPg-NQzukBpRA + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UzJV3AP5XkhCmgPkemkykQq0liDAJuJPE9oSu1_lCXzwwcxdKS8wGAscG3RJ-6M8tI0umVirkIZ4Whx3EU4I6Tp6HK2Ww - request: body: null headers: {} @@ -473,23 +524,30 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594744099471481\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065229283047\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744099471481&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065229283047&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744099471481\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065229283047\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n - \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CPmAutyUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:28:19.471Z\",\n \"updated\": \"2020-07-14T16:28:19.471Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:28:19.471Z\",\n \"metadata\": + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"COed25f2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:09.282Z\",\n \"updated\": \"2020-09-02T16:47:09.282Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:09.282Z\",\n \"metadata\": {\n \"something\": \"not\"\n }\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '794' - Content-Type: application/json; charset=UTF-8 - Etag: CPmAutyUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '790' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - COed25f2yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -501,23 +559,30 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594744099471481\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065229283047\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744099471481&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065229283047&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744099471481\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065229283047\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n - \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CPmAutyUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:28:19.471Z\",\n \"updated\": \"2020-07-14T16:28:19.471Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:28:19.471Z\",\n \"metadata\": + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"COed25f2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:09.282Z\",\n \"updated\": \"2020-09-02T16:47:09.282Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:09.282Z\",\n \"metadata\": {\n \"something\": \"not\"\n }\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '794' - Content-Type: application/json; charset=UTF-8 - Etag: CPmAutyUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '790' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - COed25f2yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -526,69 +591,37 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"tmp/\"\n - \ ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '64' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=tmp%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"tmp/test/\"\n - \ ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '69' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=tmp/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=tmp%2Ftest%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594744099471481\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065229283047\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744099471481&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065229283047&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744099471481\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599065229283047\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n \"crc32c\": - \"AAAAAA==\",\n \"etag\": \"CPmAutyUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:28:19.471Z\",\n \"updated\": \"2020-07-14T16:28:19.471Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:28:19.471Z\",\n \"metadata\": + \"AAAAAA==\",\n \"etag\": \"COed25f2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:09.282Z\",\n \"updated\": \"2020-09-02T16:47:09.282Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:09.282Z\",\n \"metadata\": {\n \"something\": \"not\"\n }\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '932' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '928' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=tmp/test/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -618,21 +651,33 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_UOgh274_-oU_AAge3PIIK2Y\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_Ei6sgtF4fVQ_AAsIEV7HJog\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:28:20 GMT\r\n\r\n\r\n--batch_UOgh274_-oU_AAge3PIIK2Y--\r\n" + Wed, 02 Sep 2020 16:47:09 GMT\r\n\r\n\r\n--batch_Ei6sgtF4fVQ_AAsIEV7HJog--\r\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_UOgh274_-oU_AAge3PIIK2Y - Pragma: no-cache - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_Ei6sgtF4fVQ_AAsIEV7HJog + Pragma: + - no-cache + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_bad_open.yaml b/gcsfs/tests/recordings/test_bad_open.yaml index a9af0220..61849097 100644 --- a/gcsfs/tests/recordings/test_bad_open.yaml +++ b/gcsfs/tests/recordings/test_bad_open.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAJLcDV8C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP - Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTbrIjV/LxFkoZrUVfyco5aFTcWh1bmSg7+sNcYa - 8kIGE4Q4AL/As7x+lA+EinX4wf9/OT6PTYPl4wAAAA== + H4sIADTMT18C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULnc10s6+NTiHzLPQE7Oe + lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmzWRWr+XiLIQjWpK/yco5aFTcWRL/nGWENeyGCC + ENUplYMfgl/hWV4/ywdCxTr64P+/HB90ZZ3Z4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:55.854Z\",\n \"updated\": \"2020-07-14T16:25:55.854Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: null @@ -178,35 +162,11 @@ interactions: \ \"etag\": \"CAE=\",\n \"timeCreated\": \"2017-09-14T18:55:42.848Z\",\n \ \"updated\": \"2017-09-14T18:55:42.848Z\",\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-tester\",\n \"id\": \"gcsfs-tester\",\n - \ \"name\": \"gcsfs-tester\",\n \"projectNumber\": \"586241054156\",\n - \ \"metageneration\": \"1\",\n \"location\": \"US\",\n \"storageClass\": - \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": \"2020-07-08T18:43:14.054Z\",\n - \ \"updated\": \"2020-07-08T18:43:14.054Z\",\n \"iamConfiguration\": - {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n - \ \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n - \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": - \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:55.854Z\",\n \"updated\": \"2020-07-14T16:25:55.854Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-tester3\",\n - \ \"id\": \"gcsfs-tester3\",\n \"name\": \"gcsfs-tester3\",\n \"projectNumber\": + \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n \"id\": + \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-07T21:07:25.637Z\",\n \"updated\": \"2020-07-07T21:07:25.637Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testerer\",\n - \ \"id\": \"gcsfs-testerer\",\n \"name\": \"gcsfs-testerer\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-06T16:25:54.924Z\",\n \"updated\": \"2020-07-06T16:25:54.924Z\",\n + \"2020-09-02T15:40:10.048Z\",\n \"updated\": \"2020-09-02T15:40:10.048Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n },\n @@ -221,19 +181,25 @@ interactions: \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/mdtemp\",\n \ \"id\": \"mdtemp\",\n \"name\": \"mdtemp\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"2\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAI=\",\n \"timeCreated\": - \"2018-04-10T01:17:29.182Z\",\n \"updated\": \"2018-05-10T16:59:01.351Z\",\n + \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n + \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": + \"2020-08-31T21:13:48.793Z\",\n \"updated\": \"2020-08-31T21:13:48.793Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n }\n \ ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '6406' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '4486' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -242,18 +208,24 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ version: 1 diff --git a/gcsfs/tests/recordings/test_bigger_than_block_read.yaml b/gcsfs/tests/recordings/test_bigger_than_block_read.yaml index 786dff4d..fb442e9f 100644 --- a/gcsfs/tests/recordings/test_bigger_than_block_read.yaml +++ b/gcsfs/tests/recordings/test_bigger_than_block_read.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIABPdDV8C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULnc1K82+NTiHzLPQE7Oe - lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmz23FPLwqbiyOqKb4w15IUMJgjxEneRmr+XCLJQ - TeqUysEPwa/wLK+f5QOhYh198P9fjg+z0wad4wAAAA== + H4sIAILMT18C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP + Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTbbGGvICxlMEKK6irtIzd9LBFmoJnWO5OAvWyck + tSxsKg49AL/As7x+lA+EinX4wf9/OT4eaDG04wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:28:05.318Z\",\n \"updated\": \"2020-07-14T16:28:05.318Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: '--==0== @@ -168,24 +152,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594744085589538\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065219763296\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594744085589538&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065219763296&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744085589538\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065219763296\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"CKLc6tWUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:28:05.589Z\",\n - \ \"updated\": \"2020-07-14T16:28:05.589Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:28:05.589Z\"\n}\n" + \ \"etag\": \"COCYlpP2yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:59.763Z\",\n + \ \"updated\": \"2020-09-02T16:46:59.763Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:59.763Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CKLc6tWUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - COCYlpP2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -196,14 +188,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/file1"} + {"name": "2014-01-02.csv"} --==0== Content-Type: application/octet-stream - hello + name,amount,id --==0==--' @@ -214,23 +206,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1594744085687195\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594744085687195&alt=media\",\n - \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744085687195\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CJvX8NWUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:28:05.687Z\",\n \"updated\": \"2020-07-14T16:28:05.687Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:28:05.687Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065219854917\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065219854917&alt=media\",\n + \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065219854917\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CMXkm5P2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:59.854Z\",\n \"updated\": \"2020-09-02T16:46:59.854Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:59.854Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CJvX8NWUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CMXkm5P2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -241,20 +241,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "test/accounts.2.json"} + {"name": "nested/file1"} --==0== Content-Type: application/octet-stream - {"amount": 500, "name": "Alice"} - - {"amount": 600, "name": "Bob"} - - {"amount": 700, "name": "Charlie"} - - {"amount": 800, "name": "Dennis"} + hello --==0==--' @@ -265,24 +259,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594744085690210\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594744085690210&alt=media\",\n - \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744085690210\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n - \ \"etag\": \"COLu8NWUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:28:05.690Z\",\n - \ \"updated\": \"2020-07-14T16:28:05.690Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:28:05.690Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065219854189\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065219854189&alt=media\",\n + \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065219854189\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CO3em5P2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:59.854Z\",\n \"updated\": \"2020-09-02T16:46:59.854Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:59.854Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: COLu8NWUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CO3em5P2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -293,15 +294,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/nested2/file1"} + {"name": "nested/file2"} --==0== Content-Type: application/octet-stream - hello - + world --==0==--' headers: @@ -311,24 +311,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594744085692827\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594744085692827&alt=media\",\n - \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744085692827\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n \"crc32c\": \"NT3Yvg==\",\n - \ \"etag\": \"CJuD8dWUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:28:05.692Z\",\n - \ \"updated\": \"2020-07-14T16:28:05.692Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:28:05.692Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065219866188\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065219866188&alt=media\",\n + \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065219866188\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CMy8nJP2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:59.866Z\",\n \"updated\": \"2020-09-02T16:46:59.866Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:59.866Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: CJuD8dWUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CMy8nJP2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -339,14 +346,21 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/file2"} + {"name": "2014-01-01.csv"} --==0== Content-Type: application/octet-stream - world + name,amount,id + + Alice,100,1 + + Bob,200,2 + + Charlie,300,3 + --==0==--' headers: @@ -356,23 +370,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594744085693460\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594744085693460&alt=media\",\n - \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744085693460\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CJSI8dWUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:28:05.693Z\",\n \"updated\": \"2020-07-14T16:28:05.693Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:28:05.693Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065219868672\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065219868672&alt=media\",\n + \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065219868672\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CIDQnJP2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:59.868Z\",\n \"updated\": \"2020-09-02T16:46:59.868Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:59.868Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CJSI8dWUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CIDQnJP2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -383,20 +405,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-01.csv"} + {"name": "nested/nested2/file1"} --==0== Content-Type: application/octet-stream - name,amount,id - - Alice,100,1 - - Bob,200,2 - - Charlie,300,3 + hello --==0==--' @@ -407,23 +423,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1594744085789020\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594744085789020&alt=media\",\n - \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744085789020\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CNzy9tWUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:28:05.788Z\",\n \"updated\": \"2020-07-14T16:28:05.788Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:28:05.788Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065219896927\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065219896927&alt=media\",\n + \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065219896927\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n \"crc32c\": \"NT3Yvg==\",\n + \ \"etag\": \"CN+snpP2yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:59.896Z\",\n + \ \"updated\": \"2020-09-02T16:46:59.896Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:59.896Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CNzy9tWUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CN+snpP2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -434,15 +459,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-02.csv"} + {"name": "nested/nested2/file2"} --==0== Content-Type: application/octet-stream - name,amount,id - + world --==0==--' headers: @@ -452,23 +476,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594744085790493\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594744085790493&alt=media\",\n - \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744085790493\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CJ3+9tWUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:28:05.790Z\",\n \"updated\": \"2020-07-14T16:28:05.790Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:28:05.790Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065219917782\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065219917782&alt=media\",\n + \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065219917782\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n \"crc32c\": \"MaqBTg==\",\n + \ \"etag\": \"CNbPn5P2yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:59.917Z\",\n + \ \"updated\": \"2020-09-02T16:46:59.917Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:59.917Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CJ3+9tWUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CNbPn5P2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -479,20 +512,20 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-03.csv"} + {"name": "test/accounts.2.json"} --==0== Content-Type: application/octet-stream - name,amount,id + {"amount": 500, "name": "Alice"} - Dennis,400,4 + {"amount": 600, "name": "Bob"} - Edith,500,5 + {"amount": 700, "name": "Charlie"} - Frank,600,6 + {"amount": 800, "name": "Dennis"} --==0==--' @@ -503,23 +536,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594744085802259\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594744085802259&alt=media\",\n - \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744085802259\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CJPa99WUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:28:05.802Z\",\n \"updated\": \"2020-07-14T16:28:05.802Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:28:05.802Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065219974419\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065219974419&alt=media\",\n + \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065219974419\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n + \ \"etag\": \"CJOKo5P2yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:59.974Z\",\n + \ \"updated\": \"2020-09-02T16:46:59.974Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:59.974Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CJPa99WUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CJOKo5P2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -530,14 +572,21 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/nested2/file2"} + {"name": "2014-01-03.csv"} --==0== Content-Type: application/octet-stream - world + name,amount,id + + Dennis,400,4 + + Edith,500,5 + + Frank,600,6 + --==0==--' headers: @@ -547,24 +596,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594744086701344\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594744086701344&alt=media\",\n - \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744086701344\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n \"crc32c\": \"MaqBTg==\",\n - \ \"etag\": \"CKDKrtaUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:28:06.701Z\",\n - \ \"updated\": \"2020-07-14T16:28:06.701Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:28:06.701Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065220171299\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065220171299&alt=media\",\n + \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065220171299\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CKOMr5P2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:00.171Z\",\n \"updated\": \"2020-09-02T16:47:00.171Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:00.171Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: CKDKrtaUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CKOMr5P2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -576,22 +632,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1594744085789020\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065219868672\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594744085789020&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065219868672&alt=media\",\n \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744085789020\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065219868672\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CNzy9tWUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:28:05.788Z\",\n \"updated\": \"2020-07-14T16:28:05.788Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:28:05.788Z\"\n}\n" + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CIDQnJP2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:59.868Z\",\n \"updated\": \"2020-09-02T16:46:59.868Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:59.868Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CNzy9tWUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CIDQnJP2yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -602,36 +665,49 @@ interactions: Range: - bytes=0-22 method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?alt=media&generation=1594744085789020 + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?alt=media&generation=1599065219868672 response: body: string: 'name,amount,id Alice,10' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '23' - Content-Range: bytes 0-22/51 - Content-Type: application/octet-stream - Etag: CNzy9tWUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744085789020' - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '23' + Content-Range: + - bytes 0-22/51 + Content-Type: + - application/octet-stream + Etag: + - CIDQnJP2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065219868672' + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 206 message: Partial Content - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594744085789020&alt=media + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065219868672&alt=media - request: body: null headers: Range: - bytes=23-42 method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?alt=media&generation=1594744085789020 + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?alt=media&generation=1599065219868672 response: body: string: '0,1 @@ -640,214 +716,191 @@ interactions: Charli' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '20' - Content-Range: bytes 23-42/51 - Content-Type: application/octet-stream - Etag: CNzy9tWUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744085789020' - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '20' + Content-Range: + - bytes 23-42/51 + Content-Type: + - application/octet-stream + Etag: + - CIDQnJP2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065219868672' + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 206 message: Partial Content - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594744085789020&alt=media + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065219868672&alt=media - request: body: null headers: Range: - bytes=43-50 method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?alt=media&generation=1594744085789020 + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?alt=media&generation=1599065219868672 response: body: string: 'e,300,3 ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '8' - Content-Range: bytes 43-50/51 - Content-Type: application/octet-stream - Etag: CNzy9tWUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744085789020' - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '8' + Content-Range: + - bytes 43-50/51 + Content-Type: + - application/octet-stream + Etag: + - CIDQnJP2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065219868672' + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 206 message: Partial Content - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594744085789020&alt=media + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065219868672&alt=media - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/\",\n - \ \"test/\"\n ],\n \"items\": [\n {\n \"kind\": \"storage#object\",\n - \ \"id\": \"gcsfs-testing/2014-01-01.csv/1594744085789020\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594744085789020&alt=media\",\n + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065219868672\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065219868672&alt=media\",\n \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744085789020\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065219868672\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CNzy9tWUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:28:05.788Z\",\n \"updated\": \"2020-07-14T16:28:05.788Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:28:05.788Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594744085790493\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CIDQnJP2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:59.868Z\",\n \"updated\": \"2020-09-02T16:46:59.868Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:59.868Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065219854917\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594744085790493&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065219854917&alt=media\",\n \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744085790493\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065219854917\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CJ3+9tWUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:28:05.790Z\",\n \"updated\": \"2020-07-14T16:28:05.790Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:28:05.790Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594744085802259\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CMXkm5P2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:59.854Z\",\n \"updated\": \"2020-09-02T16:46:59.854Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:59.854Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065220171299\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594744085802259&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065220171299&alt=media\",\n \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744085802259\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065220171299\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CJPa99WUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:28:05.802Z\",\n \"updated\": \"2020-07-14T16:28:05.802Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:28:05.802Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '2605' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/nested2/\"\n - \ ],\n \"items\": [\n {\n \"kind\": \"storage#object\",\n \"id\": - \"gcsfs-testing/nested/file1/1594744085687195\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594744085687195&alt=media\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CKOMr5P2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:00.171Z\",\n \"updated\": \"2020-09-02T16:47:00.171Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:00.171Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065219854189\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065219854189&alt=media\",\n \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744085687195\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065219854189\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CJvX8NWUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:28:05.687Z\",\n \"updated\": \"2020-07-14T16:28:05.687Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:28:05.687Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594744085693460\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CO3em5P2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:59.854Z\",\n \"updated\": \"2020-09-02T16:46:59.854Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:59.854Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065219866188\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594744085693460&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065219866188&alt=media\",\n \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744085693460\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065219866188\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CJSI8dWUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:28:05.693Z\",\n \"updated\": \"2020-07-14T16:28:05.693Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:28:05.693Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1754' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2Fnested2%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594744085692827\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CMy8nJP2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:59.866Z\",\n \"updated\": \"2020-09-02T16:46:59.866Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:59.866Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065219896927\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594744085692827&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065219896927&alt=media\",\n \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744085692827\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065219896927\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CJuD8dWUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:28:05.692Z\",\n \"updated\": \"2020-07-14T16:28:05.692Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:28:05.692Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594744086701344\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CN+snpP2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:59.896Z\",\n \"updated\": \"2020-09-02T16:46:59.896Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:59.896Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065219917782\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594744086701344&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065219917782&alt=media\",\n \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744086701344\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065219917782\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CKDKrtaUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:28:06.701Z\",\n \"updated\": \"2020-07-14T16:28:06.701Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:28:06.701Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1783' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/nested2/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=test%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594744085589538\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CNbPn5P2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:59.917Z\",\n \"updated\": \"2020-09-02T16:46:59.917Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:59.917Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065219763296\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594744085589538&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065219763296&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744085589538\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065219763296\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n - \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CKLc6tWUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:28:05.589Z\",\n \"updated\": \"2020-07-14T16:28:05.589Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:28:05.589Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594744085690210\",\n + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"COCYlpP2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:59.763Z\",\n \"updated\": \"2020-09-02T16:46:59.763Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:59.763Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065219974419\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594744085690210&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065219974419&alt=media\",\n \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744085690210\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065219974419\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n - \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"COLu8NWUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:28:05.690Z\",\n \"updated\": \"2020-07-14T16:28:05.690Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:28:05.690Z\"\n }\n ]\n}\n" + \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CJOKo5P2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:59.974Z\",\n \"updated\": \"2020-09-02T16:46:59.974Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:59.974Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1779' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '7647' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=test/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -1021,36 +1074,47 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_XFjnGav7NMQ_AAgS5FGJ8lw\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_Z8gCfcHF-Fw_AAjAgGza-C0\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:28:08 GMT\r\n\r\n\r\n--batch_XFjnGav7NMQ_AAgS5FGJ8lw\r\nContent-Type: + Wed, 02 Sep 2020 16:47:00 GMT\r\n\r\n\r\n--batch_Z8gCfcHF-Fw_AAjAgGza-C0\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:28:08 GMT\r\n\r\n\r\n--batch_XFjnGav7NMQ_AAgS5FGJ8lw\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:47:00 GMT\r\n\r\n\r\n--batch_Z8gCfcHF-Fw_AAjAgGza-C0\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:28:08 GMT\r\n\r\n\r\n--batch_XFjnGav7NMQ_AAgS5FGJ8lw\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:47:00 GMT\r\n\r\n\r\n--batch_Z8gCfcHF-Fw_AAjAgGza-C0\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:28:08 GMT\r\n\r\n\r\n--batch_XFjnGav7NMQ_AAgS5FGJ8lw\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:47:00 GMT\r\n\r\n\r\n--batch_Z8gCfcHF-Fw_AAjAgGza-C0\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:28:08 GMT\r\n\r\n\r\n--batch_XFjnGav7NMQ_AAgS5FGJ8lw\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:47:00 GMT\r\n\r\n\r\n--batch_Z8gCfcHF-Fw_AAjAgGza-C0\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:28:08 GMT\r\n\r\n\r\n--batch_XFjnGav7NMQ_AAgS5FGJ8lw\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:47:00 GMT\r\n\r\n\r\n--batch_Z8gCfcHF-Fw_AAjAgGza-C0\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:28:08 GMT\r\n\r\n\r\n--batch_XFjnGav7NMQ_AAgS5FGJ8lw\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:47:00 GMT\r\n\r\n\r\n--batch_Z8gCfcHF-Fw_AAjAgGza-C0\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:28:08 GMT\r\n\r\n\r\n--batch_XFjnGav7NMQ_AAgS5FGJ8lw\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:47:00 GMT\r\n\r\n\r\n--batch_Z8gCfcHF-Fw_AAjAgGza-C0\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:28:08 GMT\r\n\r\n\r\n--batch_XFjnGav7NMQ_AAgS5FGJ8lw--\r\n" + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:47:00 GMT\r\n\r\n\r\n--batch_Z8gCfcHF-Fw_AAjAgGza-C0--\r\n" headers: - Cache-Control: private, max-age=0 - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_XFjnGav7NMQ_AAgS5FGJ8lw - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - private, max-age=0 + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_Z8gCfcHF-Fw_AAjAgGza-C0 + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_copy.yaml b/gcsfs/tests/recordings/test_copy.yaml index e3a9477f..059f2e67 100644 --- a/gcsfs/tests/recordings/test_copy.yaml +++ b/gcsfs/tests/recordings/test_copy.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAJTcDV8C/4XPsQ7DIAwE0F9BzC3sGfsjkQVOggoYYSNSVfn3hnbqlPFON7x7a3AOmWehJ2Y9 - Kb3vu74pzY4KjryJFJ6s7b2blWiNCCWwcZQsNNmsi9T8vUSQhWpSV/PGWENeyGCCEC/np45aFjYV - R1YnKgc/gF/wLK+f8oFQsY4++P8vxwdVrNCv4wAAAA== + H4sIADXMT18C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP + Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTbbGGvICxlMEKK6irtIzd9LBFmoJnWO5OAvWyck + tSxsKg49AL/As7x+lA+EinX4wf9/OT4eaDG04wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:57.956Z\",\n \"updated\": \"2020-07-14T16:25:57.956Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: '--==0== @@ -168,24 +152,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594743958217971\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065142467428\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594743958217971&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065142467428&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743958217971\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065142467428\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"CPPJjJmUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:25:58.217Z\",\n - \ \"updated\": \"2020-07-14T16:25:58.217Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:25:58.217Z\"\n}\n" + \ \"etag\": \"COS2qO71yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:42.467Z\",\n + \ \"updated\": \"2020-09-02T16:45:42.467Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:42.467Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CPPJjJmUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - COS2qO71yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -196,14 +188,20 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/file1"} + {"name": "test/accounts.2.json"} --==0== Content-Type: application/octet-stream - hello + {"amount": 500, "name": "Alice"} + + {"amount": 600, "name": "Bob"} + + {"amount": 700, "name": "Charlie"} + + {"amount": 800, "name": "Dennis"} --==0==--' @@ -214,23 +212,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1594743958288169\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594743958288169&alt=media\",\n - \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743958288169\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CKnukJmUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:58.288Z\",\n \"updated\": \"2020-07-14T16:25:58.288Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:58.288Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065142544227\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065142544227&alt=media\",\n + \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065142544227\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n + \ \"etag\": \"COOOre71yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:42.544Z\",\n + \ \"updated\": \"2020-09-02T16:45:42.544Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:42.544Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CKnukJmUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - COOOre71yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -241,20 +248,20 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "test/accounts.2.json"} + {"name": "2014-01-01.csv"} --==0== Content-Type: application/octet-stream - {"amount": 500, "name": "Alice"} + name,amount,id - {"amount": 600, "name": "Bob"} + Alice,100,1 - {"amount": 700, "name": "Charlie"} + Bob,200,2 - {"amount": 800, "name": "Dennis"} + Charlie,300,3 --==0==--' @@ -265,24 +272,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594743958299302\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594743958299302&alt=media\",\n - \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743958299302\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n - \ \"etag\": \"CKbFkZmUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:25:58.299Z\",\n - \ \"updated\": \"2020-07-14T16:25:58.299Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:25:58.299Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065142549865\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065142549865&alt=media\",\n + \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065142549865\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"COm6re71yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:42.549Z\",\n \"updated\": \"2020-09-02T16:45:42.549Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:42.549Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CKbFkZmUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - COm6re71yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -293,15 +307,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/nested2/file1"} + {"name": "nested/file2"} --==0== Content-Type: application/octet-stream - hello - + world --==0==--' headers: @@ -311,24 +324,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594743958376390\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594743958376390&alt=media\",\n - \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743958376390\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n \"crc32c\": \"NT3Yvg==\",\n - \ \"etag\": \"CMaflpmUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:25:58.376Z\",\n - \ \"updated\": \"2020-07-14T16:25:58.376Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:25:58.376Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065142570432\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065142570432&alt=media\",\n + \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065142570432\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CMDbru71yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:42.570Z\",\n \"updated\": \"2020-09-02T16:45:42.570Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:42.570Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: CMaflpmUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CMDbru71yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -339,14 +359,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-02.csv"} + {"name": "nested/nested2/file1"} --==0== Content-Type: application/octet-stream - name,amount,id + hello --==0==--' @@ -357,23 +377,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594743958398168\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594743958398168&alt=media\",\n - \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743958398168\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CNjJl5mUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:58.397Z\",\n \"updated\": \"2020-07-14T16:25:58.397Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:58.397Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065142595516\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065142595516&alt=media\",\n + \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065142595516\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n \"crc32c\": \"NT3Yvg==\",\n + \ \"etag\": \"CLyfsO71yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:42.595Z\",\n + \ \"updated\": \"2020-09-02T16:45:42.595Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:42.595Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CNjJl5mUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CLyfsO71yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -384,14 +413,15 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/file2"} + {"name": "nested/file1"} --==0== Content-Type: application/octet-stream - world + hello + --==0==--' headers: @@ -401,23 +431,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594743958413099\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594743958413099&alt=media\",\n - \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743958413099\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CKu+mJmUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:58.412Z\",\n \"updated\": \"2020-07-14T16:25:58.412Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:58.412Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065142599200\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065142599200&alt=media\",\n + \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065142599200\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CKC8sO71yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:42.599Z\",\n \"updated\": \"2020-09-02T16:45:42.599Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:42.599Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CKu+mJmUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CKC8sO71yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -428,21 +466,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-03.csv"} + {"name": "nested/nested2/file2"} --==0== Content-Type: application/octet-stream - name,amount,id - - Dennis,400,4 - - Edith,500,5 - - Frank,600,6 - + world --==0==--' headers: @@ -452,23 +483,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594743959327999\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594743959327999&alt=media\",\n - \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743959327999\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CP+p0JmUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:59.327Z\",\n \"updated\": \"2020-07-14T16:25:59.327Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:59.327Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065142607403\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065142607403&alt=media\",\n + \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065142607403\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n \"crc32c\": \"MaqBTg==\",\n + \ \"etag\": \"CKv8sO71yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:42.607Z\",\n + \ \"updated\": \"2020-09-02T16:45:42.607Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:42.607Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CP+p0JmUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CKv8sO71yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -479,7 +519,7 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-01.csv"} + {"name": "2014-01-02.csv"} --==0== @@ -488,12 +528,6 @@ interactions: name,amount,id - Alice,100,1 - - Bob,200,2 - - Charlie,300,3 - --==0==--' headers: @@ -503,23 +537,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1594743959396887\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594743959396887&alt=media\",\n - \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743959396887\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CJfE1JmUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:59.396Z\",\n \"updated\": \"2020-07-14T16:25:59.396Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:59.396Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065142642712\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065142642712&alt=media\",\n + \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065142642712\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CJiQs+71yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:42.642Z\",\n \"updated\": \"2020-09-02T16:45:42.642Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:42.642Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CJfE1JmUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CJiQs+71yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -530,14 +572,21 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/nested2/file2"} + {"name": "2014-01-03.csv"} --==0== Content-Type: application/octet-stream - world + name,amount,id + + Dennis,400,4 + + Edith,500,5 + + Frank,600,6 + --==0==--' headers: @@ -547,24 +596,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594743959445404\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594743959445404&alt=media\",\n - \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743959445404\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n \"crc32c\": \"MaqBTg==\",\n - \ \"etag\": \"CJy/15mUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:25:59.445Z\",\n - \ \"updated\": \"2020-07-14T16:25:59.445Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:25:59.445Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065142777514\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065142777514&alt=media\",\n + \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065142777514\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CKqtu+71yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:42.777Z\",\n \"updated\": \"2020-09-02T16:45:42.777Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:42.777Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: CJy/15mUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CKqtu+71yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -580,24 +636,31 @@ interactions: body: string: "{\n \"kind\": \"storage#rewriteResponse\",\n \"totalBytesRewritten\": \"133\",\n \"objectSize\": \"133\",\n \"done\": true,\n \"resource\": {\n - \ \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json2/1594743959804782\",\n + \ \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json2/1599065143000473\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json2?generation=1594743959804782&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json2?generation=1599065143000473&alt=media\",\n \ \"name\": \"test/accounts.1.json2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743959804782\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065143000473\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n - \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CO627ZmUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:59.804Z\",\n \"updated\": \"2020-07-14T16:25:59.804Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:59.804Z\",\n \"owner\": + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CJn7yO71yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:43.000Z\",\n \"updated\": \"2020-09-02T16:45:43.000Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:43.000Z\",\n \"owner\": {\n \"entity\": \"user-mdurant@anaconda.com\"\n }\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1020' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '1016' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -619,18 +682,31 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '133' - Content-Type: application/octet-stream - Etag: CPPJjJmUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594743958217971' - X-Goog-Hash: crc32c=6wJAgQ==,md5=xK7pmJz/Oj5HGIyfQpYTig== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '133' + Content-Type: + - application/octet-stream + Etag: + - COS2qO71yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065142467428' + X-Goog-Hash: + - crc32c=6wJAgQ==,md5=xK7pmJz/Oj5HGIyfQpYTig== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK @@ -652,18 +728,31 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '133' - Content-Type: application/octet-stream - Etag: CO627ZmUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594743959804782' - X-Goog-Hash: crc32c=6wJAgQ==,md5=xK7pmJz/Oj5HGIyfQpYTig== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '133' + Content-Type: + - application/octet-stream + Etag: + - CJn7yO71yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065143000473' + X-Goog-Hash: + - crc32c=6wJAgQ==,md5=xK7pmJz/Oj5HGIyfQpYTig== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK @@ -672,175 +761,126 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/\",\n - \ \"test/\"\n ],\n \"items\": [\n {\n \"kind\": \"storage#object\",\n - \ \"id\": \"gcsfs-testing/2014-01-01.csv/1594743959396887\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594743959396887&alt=media\",\n + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065142549865\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065142549865&alt=media\",\n \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743959396887\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065142549865\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CJfE1JmUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:59.396Z\",\n \"updated\": \"2020-07-14T16:25:59.396Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:59.396Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594743958398168\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"COm6re71yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:42.549Z\",\n \"updated\": \"2020-09-02T16:45:42.549Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:42.549Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065142642712\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594743958398168&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065142642712&alt=media\",\n \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743958398168\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065142642712\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CNjJl5mUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:58.397Z\",\n \"updated\": \"2020-07-14T16:25:58.397Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:58.397Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594743959327999\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CJiQs+71yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:42.642Z\",\n \"updated\": \"2020-09-02T16:45:42.642Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:42.642Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065142777514\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594743959327999&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065142777514&alt=media\",\n \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743959327999\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065142777514\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CP+p0JmUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:59.327Z\",\n \"updated\": \"2020-07-14T16:25:59.327Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:59.327Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '2605' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/nested2/\"\n - \ ],\n \"items\": [\n {\n \"kind\": \"storage#object\",\n \"id\": - \"gcsfs-testing/nested/file1/1594743958288169\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594743958288169&alt=media\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CKqtu+71yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:42.777Z\",\n \"updated\": \"2020-09-02T16:45:42.777Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:42.777Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065142599200\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065142599200&alt=media\",\n \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743958288169\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065142599200\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CKnukJmUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:58.288Z\",\n \"updated\": \"2020-07-14T16:25:58.288Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:58.288Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594743958413099\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CKC8sO71yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:42.599Z\",\n \"updated\": \"2020-09-02T16:45:42.599Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:42.599Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065142570432\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594743958413099&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065142570432&alt=media\",\n \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743958413099\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065142570432\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CKu+mJmUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:58.412Z\",\n \"updated\": \"2020-07-14T16:25:58.412Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:58.412Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1754' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2Fnested2%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594743958376390\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CMDbru71yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:42.570Z\",\n \"updated\": \"2020-09-02T16:45:42.570Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:42.570Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065142595516\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594743958376390&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065142595516&alt=media\",\n \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743958376390\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065142595516\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CMaflpmUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:58.376Z\",\n \"updated\": \"2020-07-14T16:25:58.376Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:58.376Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594743959445404\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CLyfsO71yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:42.595Z\",\n \"updated\": \"2020-09-02T16:45:42.595Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:42.595Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065142607403\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594743959445404&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065142607403&alt=media\",\n \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743959445404\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065142607403\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CJy/15mUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:59.445Z\",\n \"updated\": \"2020-07-14T16:25:59.445Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:59.445Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1783' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/nested2/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=test%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594743958217971\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CKv8sO71yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:42.607Z\",\n \"updated\": \"2020-09-02T16:45:42.607Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:42.607Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065142467428\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594743958217971&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065142467428&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743958217971\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065142467428\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n - \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CPPJjJmUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:58.217Z\",\n \"updated\": \"2020-07-14T16:25:58.217Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:58.217Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json2/1594743959804782\",\n + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"COS2qO71yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:42.467Z\",\n \"updated\": \"2020-09-02T16:45:42.467Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:42.467Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json2/1599065143000473\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json2?generation=1594743959804782&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json2?generation=1599065143000473&alt=media\",\n \ \"name\": \"test/accounts.1.json2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743959804782\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065143000473\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n - \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CO627ZmUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:59.804Z\",\n \"updated\": \"2020-07-14T16:25:59.804Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:59.804Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594743958299302\",\n + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CJn7yO71yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:43.000Z\",\n \"updated\": \"2020-09-02T16:45:43.000Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:43.000Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065142544227\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594743958299302&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065142544227&alt=media\",\n \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743958299302\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065142544227\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n - \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CKbFkZmUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:58.299Z\",\n \"updated\": \"2020-07-14T16:25:58.299Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:58.299Z\"\n }\n ]\n}\n" + \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"COOOre71yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:42.544Z\",\n \"updated\": \"2020-09-02T16:45:42.544Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:42.544Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '2648' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '8512' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=test/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -1032,38 +1072,49 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_EMWcuK_et80_AAZ3_Eh0Cno\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_i3rAHtSu7zc_AAH5pmY_QiE\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:26:01 GMT\r\n\r\n\r\n--batch_EMWcuK_et80_AAZ3_Eh0Cno\r\nContent-Type: + Wed, 02 Sep 2020 16:45:43 GMT\r\n\r\n\r\n--batch_i3rAHtSu7zc_AAH5pmY_QiE\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:01 GMT\r\n\r\n\r\n--batch_EMWcuK_et80_AAZ3_Eh0Cno\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:43 GMT\r\n\r\n\r\n--batch_i3rAHtSu7zc_AAH5pmY_QiE\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:01 GMT\r\n\r\n\r\n--batch_EMWcuK_et80_AAZ3_Eh0Cno\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:43 GMT\r\n\r\n\r\n--batch_i3rAHtSu7zc_AAH5pmY_QiE\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:01 GMT\r\n\r\n\r\n--batch_EMWcuK_et80_AAZ3_Eh0Cno\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:43 GMT\r\n\r\n\r\n--batch_i3rAHtSu7zc_AAH5pmY_QiE\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:01 GMT\r\n\r\n\r\n--batch_EMWcuK_et80_AAZ3_Eh0Cno\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:43 GMT\r\n\r\n\r\n--batch_i3rAHtSu7zc_AAH5pmY_QiE\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:01 GMT\r\n\r\n\r\n--batch_EMWcuK_et80_AAZ3_Eh0Cno\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:43 GMT\r\n\r\n\r\n--batch_i3rAHtSu7zc_AAH5pmY_QiE\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:01 GMT\r\n\r\n\r\n--batch_EMWcuK_et80_AAZ3_Eh0Cno\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:43 GMT\r\n\r\n\r\n--batch_i3rAHtSu7zc_AAH5pmY_QiE\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:01 GMT\r\n\r\n\r\n--batch_EMWcuK_et80_AAZ3_Eh0Cno\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:43 GMT\r\n\r\n\r\n--batch_i3rAHtSu7zc_AAH5pmY_QiE\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:01 GMT\r\n\r\n\r\n--batch_EMWcuK_et80_AAZ3_Eh0Cno\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:43 GMT\r\n\r\n\r\n--batch_i3rAHtSu7zc_AAH5pmY_QiE\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:01 GMT\r\n\r\n\r\n--batch_EMWcuK_et80_AAZ3_Eh0Cno--\r\n" + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:43 GMT\r\n\r\n\r\n--batch_i3rAHtSu7zc_AAH5pmY_QiE--\r\n" headers: - Cache-Control: private, max-age=0 - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_EMWcuK_et80_AAZ3_Eh0Cno - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - private, max-age=0 + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_i3rAHtSu7zc_AAH5pmY_QiE + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_current.yaml b/gcsfs/tests/recordings/test_current.yaml index 51a2de7e..9a971e43 100644 --- a/gcsfs/tests/recordings/test_current.yaml +++ b/gcsfs/tests/recordings/test_current.yaml @@ -17,7 +17,7 @@ interactions: response: body: string: !!binary | - H4sIABjdDV8C/4XPsQ7DIAwE0F9BzC3sGfsjkQVOggoYYSNSVfn3hnbqlPFON7x7a3AOmWehJ2Y9 + H4sIAIXMT18C/4XPsQ7DIAwE0F9BzC3sGfsjkQVOggoYYSNSVfn3hnbqlPFON7x7a3AOmWehJ2Y9 Kb3vu74pzY4KjryJFJ6s7b2blWiNCCWwcZQsNNmsi9T8vUSQhWpSV/PGWENeyGCCEC/np45aFjYV R1YnKgc/gF/wLK+f8oFQsY4++P8vxwdVrNCv4wAAAA== headers: @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,72 +99,51 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:28:10.127Z\",\n \"updated\": \"2020-07-14T16:28:10.127Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ version: 1 diff --git a/gcsfs/tests/recordings/test_du.yaml b/gcsfs/tests/recordings/test_du.yaml index 5e15888e..b170a1cd 100644 --- a/gcsfs/tests/recordings/test_du.yaml +++ b/gcsfs/tests/recordings/test_du.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAG7cDV8C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULne1I82+NTiHzLPQE7Oe - lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmz25KllYVNxZHViOXh1hblIzd9LBFmopst5Y6wh - L2QwQYhD8Cs8y+tn+UCoWEcf/P+X4wMEC22h4wAAAA== + H4sIABvMT18C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP + Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTbrIjV/LxFkoZrU2crBq6vWuUotC5uKQ1/mG2MN + eSGDCUIcgF/gWV4/ygdCxTr84P+/HB99IHep4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:19.981Z\",\n \"updated\": \"2020-07-14T16:25:19.981Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" + headers: + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: '--==0== @@ -144,14 +128,20 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/file1"} + {"name": "test/accounts.1.json"} --==0== Content-Type: application/octet-stream - hello + {"amount": 100, "name": "Alice"} + + {"amount": 200, "name": "Bob"} + + {"amount": 300, "name": "Charlie"} + + {"amount": 400, "name": "Dennis"} --==0==--' @@ -162,23 +152,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1594743920406349\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594743920406349&alt=media\",\n - \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743920406349\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CM3eiIeUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:20.406Z\",\n \"updated\": \"2020-07-14T16:25:20.406Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:20.406Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065116894703\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065116894703&alt=media\",\n + \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065116894703\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n + \ \"etag\": \"CO/Lj+L1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:16.894Z\",\n + \ \"updated\": \"2020-09-02T16:45:16.894Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:16.894Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CM3eiIeUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CO/Lj+L1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -189,7 +188,7 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-03.csv"} + {"name": "2014-01-01.csv"} --==0== @@ -198,11 +197,11 @@ interactions: name,amount,id - Dennis,400,4 + Alice,100,1 - Edith,500,5 + Bob,200,2 - Frank,600,6 + Charlie,300,3 --==0==--' @@ -213,23 +212,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594743920409694\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594743920409694&alt=media\",\n - \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743920409694\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CN74iIeUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:20.409Z\",\n \"updated\": \"2020-07-14T16:25:20.409Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:20.409Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065116962923\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065116962923&alt=media\",\n + \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065116962923\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"COvgk+L1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:16.962Z\",\n \"updated\": \"2020-09-02T16:45:16.962Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:16.962Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CN74iIeUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - COvgk+L1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -257,24 +264,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594743920458520\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065116977346\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594743920458520&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065116977346&alt=media\",\n \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743920458520\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065116977346\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n \"crc32c\": \"MaqBTg==\",\n - \ \"etag\": \"CJj2i4eUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:25:20.458Z\",\n - \ \"updated\": \"2020-07-14T16:25:20.458Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:25:20.458Z\"\n}\n" + \ \"etag\": \"CMLRlOL1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:16.977Z\",\n + \ \"updated\": \"2020-09-02T16:45:16.977Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:16.977Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: CJj2i4eUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CMLRlOL1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -285,20 +300,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "test/accounts.2.json"} + {"name": "2014-01-02.csv"} --==0== Content-Type: application/octet-stream - {"amount": 500, "name": "Alice"} - - {"amount": 600, "name": "Bob"} - - {"amount": 700, "name": "Charlie"} - - {"amount": 800, "name": "Dennis"} + name,amount,id --==0==--' @@ -309,24 +318,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594743920495330\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594743920495330&alt=media\",\n - \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743920495330\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n - \ \"etag\": \"COKVjoeUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:25:20.495Z\",\n - \ \"updated\": \"2020-07-14T16:25:20.495Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:25:20.495Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065117005469\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065117005469&alt=media\",\n + \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065117005469\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CJ2tluL1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:17.005Z\",\n \"updated\": \"2020-09-02T16:45:17.005Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:17.005Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: COKVjoeUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CJ2tluL1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -337,14 +353,20 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/nested2/file1"} + {"name": "test/accounts.2.json"} --==0== Content-Type: application/octet-stream - hello + {"amount": 500, "name": "Alice"} + + {"amount": 600, "name": "Bob"} + + {"amount": 700, "name": "Charlie"} + + {"amount": 800, "name": "Dennis"} --==0==--' @@ -355,24 +377,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594743920510923\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594743920510923&alt=media\",\n - \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743920510923\",\n \"metageneration\": \"1\",\n \"contentType\": + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065117017441\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065117017441&alt=media\",\n + \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065117017441\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n \"crc32c\": \"NT3Yvg==\",\n - \ \"etag\": \"CMuPj4eUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:25:20.510Z\",\n - \ \"updated\": \"2020-07-14T16:25:20.510Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:25:20.510Z\"\n}\n" + \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n + \ \"etag\": \"COGKl+L1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:17.017Z\",\n + \ \"updated\": \"2020-09-02T16:45:17.017Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:17.017Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: CMuPj4eUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - COGKl+L1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -383,20 +413,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "test/accounts.1.json"} + {"name": "nested/nested2/file1"} --==0== Content-Type: application/octet-stream - {"amount": 100, "name": "Alice"} - - {"amount": 200, "name": "Bob"} - - {"amount": 300, "name": "Charlie"} - - {"amount": 400, "name": "Dennis"} + hello --==0==--' @@ -407,24 +431,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594743920510391\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594743920510391&alt=media\",\n - \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743920510391\",\n \"metageneration\": \"1\",\n \"contentType\": + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065117025921\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065117025921&alt=media\",\n + \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065117025921\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"CLeLj4eUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:25:20.510Z\",\n - \ \"updated\": \"2020-07-14T16:25:20.510Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:25:20.510Z\"\n}\n" + \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n \"crc32c\": \"NT3Yvg==\",\n + \ \"etag\": \"CIHNl+L1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:17.025Z\",\n + \ \"updated\": \"2020-09-02T16:45:17.025Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:17.025Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CLeLj4eUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CIHNl+L1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -435,14 +467,21 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/file2"} + {"name": "2014-01-03.csv"} --==0== Content-Type: application/octet-stream - world + name,amount,id + + Dennis,400,4 + + Edith,500,5 + + Frank,600,6 + --==0==--' headers: @@ -452,23 +491,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594743920512396\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594743920512396&alt=media\",\n - \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743920512396\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CIybj4eUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:20.512Z\",\n \"updated\": \"2020-07-14T16:25:20.512Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:20.512Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065117989049\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065117989049&alt=media\",\n + \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065117989049\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CLmx0uL1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:17.988Z\",\n \"updated\": \"2020-09-02T16:45:17.988Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:17.988Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CIybj4eUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CLmx0uL1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -479,21 +526,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-01.csv"} + {"name": "nested/file2"} --==0== Content-Type: application/octet-stream - name,amount,id - - Alice,100,1 - - Bob,200,2 - - Charlie,300,3 - + world --==0==--' headers: @@ -503,23 +543,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1594743920584382\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594743920584382&alt=media\",\n - \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743920584382\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CL7Nk4eUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:20.584Z\",\n \"updated\": \"2020-07-14T16:25:20.584Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:20.584Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065118013910\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065118013910&alt=media\",\n + \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065118013910\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CNbz0+L1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:18.013Z\",\n \"updated\": \"2020-09-02T16:45:18.013Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:18.013Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CL7Nk4eUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CNbz0+L1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -530,14 +578,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-02.csv"} + {"name": "nested/file1"} --==0== Content-Type: application/octet-stream - name,amount,id + hello --==0==--' @@ -548,23 +596,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594743921503920\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594743921503920&alt=media\",\n - \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743921503920\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CLDdy4eUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:21.503Z\",\n \"updated\": \"2020-07-14T16:25:21.503Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:21.503Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065118017172\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065118017172&alt=media\",\n + \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065118017172\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CJSN1OL1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:18.017Z\",\n \"updated\": \"2020-09-02T16:45:18.017Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:18.017Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CLDdy4eUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CJSN1OL1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -573,165 +629,654 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/\",\n - \ \"test/\"\n ],\n \"items\": [\n {\n \"kind\": \"storage#object\",\n - \ \"id\": \"gcsfs-testing/2014-01-01.csv/1594743920584382\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594743920584382&alt=media\",\n + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065116962923\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065116962923&alt=media\",\n \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743920584382\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065116962923\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CL7Nk4eUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:20.584Z\",\n \"updated\": \"2020-07-14T16:25:20.584Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:20.584Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594743921503920\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"COvgk+L1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:16.962Z\",\n \"updated\": \"2020-09-02T16:45:16.962Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:16.962Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065117005469\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594743921503920&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065117005469&alt=media\",\n \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743921503920\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065117005469\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CLDdy4eUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:21.503Z\",\n \"updated\": \"2020-07-14T16:25:21.503Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:21.503Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594743920409694\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CJ2tluL1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:17.005Z\",\n \"updated\": \"2020-09-02T16:45:17.005Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:17.005Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065117989049\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594743920409694&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065117989049&alt=media\",\n \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743920409694\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065117989049\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CN74iIeUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:20.409Z\",\n \"updated\": \"2020-07-14T16:25:20.409Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:20.409Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '2605' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/nested2/\"\n - \ ],\n \"items\": [\n {\n \"kind\": \"storage#object\",\n \"id\": - \"gcsfs-testing/nested/file1/1594743920406349\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594743920406349&alt=media\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CLmx0uL1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:17.988Z\",\n \"updated\": \"2020-09-02T16:45:17.988Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:17.988Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065118017172\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065118017172&alt=media\",\n \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743920406349\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065118017172\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CM3eiIeUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:20.406Z\",\n \"updated\": \"2020-07-14T16:25:20.406Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:20.406Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594743920512396\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CJSN1OL1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:18.017Z\",\n \"updated\": \"2020-09-02T16:45:18.017Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:18.017Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065118013910\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594743920512396&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065118013910&alt=media\",\n \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743920512396\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065118013910\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CIybj4eUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:20.512Z\",\n \"updated\": \"2020-07-14T16:25:20.512Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:20.512Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1754' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2Fnested2%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594743920510923\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CNbz0+L1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:18.013Z\",\n \"updated\": \"2020-09-02T16:45:18.013Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:18.013Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065117025921\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594743920510923&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065117025921&alt=media\",\n \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743920510923\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065117025921\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CMuPj4eUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:20.510Z\",\n \"updated\": \"2020-07-14T16:25:20.510Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:20.510Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594743920458520\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CIHNl+L1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:17.025Z\",\n \"updated\": \"2020-09-02T16:45:17.025Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:17.025Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065116977346\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594743920458520&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065116977346&alt=media\",\n \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743920458520\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065116977346\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CJj2i4eUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:20.458Z\",\n \"updated\": \"2020-07-14T16:25:20.458Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:20.458Z\"\n }\n ]\n}\n" + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CMLRlOL1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:16.977Z\",\n \"updated\": \"2020-09-02T16:45:16.977Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:16.977Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065116894703\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065116894703&alt=media\",\n + \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065116894703\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CO/Lj+L1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:16.894Z\",\n \"updated\": \"2020-09-02T16:45:16.894Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:16.894Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065117017441\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065117017441&alt=media\",\n + \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065117017441\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n + \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"COGKl+L1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:17.017Z\",\n \"updated\": \"2020-09-02T16:45:17.017Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:17.017Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1783' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '7647' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv + response: + body: + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065116962923\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065116962923&alt=media\",\n + \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065116962923\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"COvgk+L1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:16.962Z\",\n \"updated\": \"2020-09-02T16:45:16.962Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:16.962Z\"\n}\n" + headers: + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - COvgk+L1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv + response: + body: + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065117005469\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065117005469&alt=media\",\n + \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065117005469\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CJ2tluL1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:17.005Z\",\n \"updated\": \"2020-09-02T16:45:17.005Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:17.005Z\"\n}\n" + headers: + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CJ2tluL1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv + response: + body: + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065117989049\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065117989049&alt=media\",\n + \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065117989049\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CLmx0uL1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:17.988Z\",\n \"updated\": \"2020-09-02T16:45:17.988Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:17.988Z\"\n}\n" + headers: + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CLmx0uL1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1 + response: + body: + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065118017172\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065118017172&alt=media\",\n + \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065118017172\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CJSN1OL1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:18.017Z\",\n \"updated\": \"2020-09-02T16:45:18.017Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:18.017Z\"\n}\n" + headers: + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CJSN1OL1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1 +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2 + response: + body: + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065118013910\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065118013910&alt=media\",\n + \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065118013910\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CNbz0+L1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:18.013Z\",\n \"updated\": \"2020-09-02T16:45:18.013Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:18.013Z\"\n}\n" + headers: + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CNbz0+L1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2 +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1 + response: + body: + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065117025921\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065117025921&alt=media\",\n + \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065117025921\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n \"crc32c\": \"NT3Yvg==\",\n + \ \"etag\": \"CIHNl+L1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:17.025Z\",\n + \ \"updated\": \"2020-09-02T16:45:17.025Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:17.025Z\"\n}\n" + headers: + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CIHNl+L1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1 +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2 + response: + body: + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065116977346\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065116977346&alt=media\",\n + \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065116977346\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n \"crc32c\": \"MaqBTg==\",\n + \ \"etag\": \"CMLRlOL1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:16.977Z\",\n + \ \"updated\": \"2020-09-02T16:45:16.977Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:16.977Z\"\n}\n" + headers: + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CMLRlOL1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/nested2/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2 - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=test%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json + response: + body: + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065116894703\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065116894703&alt=media\",\n + \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065116894703\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n + \ \"etag\": \"CO/Lj+L1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:16.894Z\",\n + \ \"updated\": \"2020-09-02T16:45:16.894Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:16.894Z\"\n}\n" + headers: + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CO/Lj+L1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json + response: + body: + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065117017441\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065117017441&alt=media\",\n + \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065117017441\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n + \ \"etag\": \"COGKl+L1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:17.017Z\",\n + \ \"updated\": \"2020-09-02T16:45:17.017Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:17.017Z\"\n}\n" + headers: + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - COGKl+L1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=test%2F response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594743920510391\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065116894703\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594743920510391&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065116894703&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743920510391\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065116894703\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n - \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CLeLj4eUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:20.510Z\",\n \"updated\": \"2020-07-14T16:25:20.510Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:20.510Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594743920495330\",\n + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CO/Lj+L1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:16.894Z\",\n \"updated\": \"2020-09-02T16:45:16.894Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:16.894Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065117017441\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594743920495330&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065117017441&alt=media\",\n \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743920495330\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065117017441\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n - \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"COKVjoeUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:20.495Z\",\n \"updated\": \"2020-07-14T16:25:20.495Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:20.495Z\"\n }\n ]\n}\n" + \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"COGKl+L1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:17.017Z\",\n \"updated\": \"2020-09-02T16:45:17.017Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:17.017Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1779' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '1771' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=test/ +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json + response: + body: + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065116894703\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065116894703&alt=media\",\n + \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065116894703\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n + \ \"etag\": \"CO/Lj+L1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:16.894Z\",\n + \ \"updated\": \"2020-09-02T16:45:16.894Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:16.894Z\"\n}\n" + headers: + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CO/Lj+L1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json + response: + body: + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065117017441\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065117017441&alt=media\",\n + \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065117017441\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n + \ \"etag\": \"COGKl+L1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:17.017Z\",\n + \ \"updated\": \"2020-09-02T16:45:17.017Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:17.017Z\"\n}\n" + headers: + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - COGKl+L1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ + response: + body: + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065116962923\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065116962923&alt=media\",\n + \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065116962923\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"COvgk+L1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:16.962Z\",\n \"updated\": \"2020-09-02T16:45:16.962Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:16.962Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065117005469\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065117005469&alt=media\",\n + \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065117005469\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CJ2tluL1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:17.005Z\",\n \"updated\": \"2020-09-02T16:45:17.005Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:17.005Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065117989049\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065117989049&alt=media\",\n + \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065117989049\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CLmx0uL1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:17.988Z\",\n \"updated\": \"2020-09-02T16:45:17.988Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:17.988Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065118017172\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065118017172&alt=media\",\n + \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065118017172\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CJSN1OL1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:18.017Z\",\n \"updated\": \"2020-09-02T16:45:18.017Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:18.017Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065118013910\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065118013910&alt=media\",\n + \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065118013910\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CNbz0+L1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:18.013Z\",\n \"updated\": \"2020-09-02T16:45:18.013Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:18.013Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065117025921\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065117025921&alt=media\",\n + \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065117025921\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CIHNl+L1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:17.025Z\",\n \"updated\": \"2020-09-02T16:45:17.025Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:17.025Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065116977346\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065116977346&alt=media\",\n + \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065116977346\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CMLRlOL1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:16.977Z\",\n \"updated\": \"2020-09-02T16:45:16.977Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:16.977Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065116894703\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065116894703&alt=media\",\n + \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065116894703\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CO/Lj+L1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:16.894Z\",\n \"updated\": \"2020-09-02T16:45:16.894Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:16.894Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065117017441\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065117017441&alt=media\",\n + \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065117017441\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n + \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"COGKl+L1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:17.017Z\",\n \"updated\": \"2020-09-02T16:45:17.017Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:17.017Z\"\n }\n ]\n}\n" + headers: + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '7647' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=test/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -905,36 +1450,47 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_6ApiARTao-E_AARg9cR3FxQ\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_7rRj5WQJO28_AAq_Anv55T4\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:25:22 GMT\r\n\r\n\r\n--batch_6ApiARTao-E_AARg9cR3FxQ\r\nContent-Type: + Wed, 02 Sep 2020 16:45:19 GMT\r\n\r\n\r\n--batch_7rRj5WQJO28_AAq_Anv55T4\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:22 GMT\r\n\r\n\r\n--batch_6ApiARTao-E_AARg9cR3FxQ\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:19 GMT\r\n\r\n\r\n--batch_7rRj5WQJO28_AAq_Anv55T4\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:22 GMT\r\n\r\n\r\n--batch_6ApiARTao-E_AARg9cR3FxQ\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:19 GMT\r\n\r\n\r\n--batch_7rRj5WQJO28_AAq_Anv55T4\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:22 GMT\r\n\r\n\r\n--batch_6ApiARTao-E_AARg9cR3FxQ\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:19 GMT\r\n\r\n\r\n--batch_7rRj5WQJO28_AAq_Anv55T4\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:22 GMT\r\n\r\n\r\n--batch_6ApiARTao-E_AARg9cR3FxQ\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:19 GMT\r\n\r\n\r\n--batch_7rRj5WQJO28_AAq_Anv55T4\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:22 GMT\r\n\r\n\r\n--batch_6ApiARTao-E_AARg9cR3FxQ\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:19 GMT\r\n\r\n\r\n--batch_7rRj5WQJO28_AAq_Anv55T4\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:22 GMT\r\n\r\n\r\n--batch_6ApiARTao-E_AARg9cR3FxQ\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:19 GMT\r\n\r\n\r\n--batch_7rRj5WQJO28_AAq_Anv55T4\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:22 GMT\r\n\r\n\r\n--batch_6ApiARTao-E_AARg9cR3FxQ\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:19 GMT\r\n\r\n\r\n--batch_7rRj5WQJO28_AAq_Anv55T4\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:22 GMT\r\n\r\n\r\n--batch_6ApiARTao-E_AARg9cR3FxQ--\r\n" - headers: - Cache-Control: private, max-age=0 - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_6ApiARTao-E_AARg9cR3FxQ - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:19 GMT\r\n\r\n\r\n--batch_7rRj5WQJO28_AAq_Anv55T4--\r\n" + headers: + Cache-Control: + - private, max-age=0 + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_7rRj5WQJO28_AAq_Anv55T4 + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_errors.yaml b/gcsfs/tests/recordings/test_errors.yaml index 9c14763c..1425cbb6 100644 --- a/gcsfs/tests/recordings/test_errors.yaml +++ b/gcsfs/tests/recordings/test_errors.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAMXcDV8C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULne1I82+NTiHzLPQE7Oe - lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmy2MdaQFzKYIER1Ujl4dUW5SM3fSwRZqKbL+SlJ - LQubiiMPwa/wLK+f5QOhYh198P9fjg9b1v+I4wAAAA== + H4sIAE7MT18C/4WPsQ7DIBBDfyVibmHP2B+JTnBJUIFD3CGoqvx7Qzt1ymTZsqzntwJrkXkRemJS + 86R67+o2KbaUcfhTknfTLpJ5Nqa1pjeiLSBkz9pSNFBlN+cM1SSsCw5/2a+MxaeVNEbw4bJuA1V3 + zwFkpRIH4Bd4kdeP8oFQsIzcu/8vxwdcFoAW4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:46.664Z\",\n \"updated\": \"2020-07-14T16:26:46.664Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: null @@ -150,12 +134,19 @@ interactions: \"No such object: gcsfs-testing/tmp/test/shfoshf\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '267' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '265' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found @@ -169,11 +160,17 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -190,69 +187,23 @@ interactions: \"No such object: gcsfs-testing/tmp/test/shfoshf\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '267' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '265' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fshfoshf -- request: - body: ' - - --===============7330845974216740156== - - Content-Type: application/http - - Content-Transfer-Encoding: binary - - Content-ID: - - - DELETE /storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fshfoshf%2Fx HTTP/1.1 - - Content-Type: application/json - - accept: application/json - - content-length: 0 - - - --===============7330845974216740156==--' - headers: - Content-Type: - - multipart/mixed; boundary="===============7330845974216740156==" - method: POST - uri: https://www.googleapis.com/batch/storage/v1 - response: - body: - string: "--batch_Wdp0eiTnz7w_AAWKiPn7Lwg\r\nContent-Type: application/http\r\nContent-ID: - \r\n\r\nHTTP/1.1 404 Not - Found\r\nContent-Type: application/json; charset=UTF-8\r\nDate: Tue, 14 Jul - 2020 16:26:47 GMT\r\nExpires: Tue, 14 Jul 2020 16:26:47 GMT\r\nCache-Control: - private, max-age=0\r\nContent-Length: 243\r\n\r\n{\n \"error\": {\n \"errors\": - [\n {\n \"domain\": \"global\",\n \"reason\": \"notFound\",\n \"message\": - \"No such object: gcsfs-testing/tmp/test/shfoshf/x\"\n }\n ],\n \"code\": - 404,\n \"message\": \"No such object: gcsfs-testing/tmp/test/shfoshf/x\"\n - }\n}\n\r\n--batch_Wdp0eiTnz7w_AAWKiPn7Lwg--\r\n" - headers: - Cache-Control: private, max-age=0 - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_Wdp0eiTnz7w_AAWKiPn7Lwg - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block - status: - code: 200 - message: OK - url: https://www.googleapis.com/batch/storage/v1 - request: body: null headers: @@ -267,12 +218,19 @@ interactions: \"No such object: gcsfs-testing/tmp/test/shfoshf/x\",\n \"domain\": \"global\",\n \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '271' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '269' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found @@ -288,12 +246,19 @@ interactions: \ \"errors\": [\n {\n \"message\": \"Not Found\",\n \"domain\": \"global\",\n \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '193' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '193' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found @@ -311,12 +276,19 @@ interactions: not have storage.buckets.delete access to the Google Cloud project.\",\n \"domain\": \"global\",\n \"reason\": \"forbidden\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '362' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '362' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 403 message: Forbidden @@ -335,10 +307,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUlocwMqpahhgwM_xEnx_12hjMxaukr6EojNpbOwzQ3jRnp2EibwoVxGuVu54EgVNkL0MW-jpEZrPjJVhj_zEpo + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Ux_4gbQUB6lmDTTdDSmEdqxb1a2ggvSdk6v3Hw2ltcSAMnXYV371T0qp83oc_SCKKdKjUTvKfxmOEP2IEVzOkLuZ0YYEw Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -353,30 +325,38 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUlocwMqpahhgwM_xEnx_12hjMxaukr6EojNpbOwzQ3jRnp2EibwoVxGuVu54EgVNkL0MW-jpEZrPjJVhj_zEpo + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Ux_4gbQUB6lmDTTdDSmEdqxb1a2ggvSdk6v3Hw2ltcSAMnXYV371T0qp83oc_SCKKdKjUTvKfxmOEP2IEVzOkLuZ0YYEw response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1594744008672499\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1599065168173427\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1594744008672499&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1599065168173427&alt=media\",\n \ \"name\": \"temp\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744008672499\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065168173427\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n - \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CPOJlLGUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:48.672Z\",\n \"updated\": \"2020-07-14T16:26:48.672Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:48.672Z\"\n}\n" + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CPOyyfr1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:08.173Z\",\n \"updated\": \"2020-09-02T16:46:08.173Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:08.173Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '718' - Content-Type: application/json; charset=UTF-8 - Etag: CPOJlLGUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '714' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CPOyyfr1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUlocwMqpahhgwM_xEnx_12hjMxaukr6EojNpbOwzQ3jRnp2EibwoVxGuVu54EgVNkL0MW-jpEZrPjJVhj_zEpo + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Ux_4gbQUB6lmDTTdDSmEdqxb1a2ggvSdk6v3Hw2ltcSAMnXYV371T0qp83oc_SCKKdKjUTvKfxmOEP2IEVzOkLuZ0YYEw - request: body: null headers: {} @@ -384,22 +364,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1594744008672499\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1599065168173427\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1594744008672499&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1599065168173427&alt=media\",\n \ \"name\": \"temp\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744008672499\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065168173427\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n - \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CPOJlLGUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:48.672Z\",\n \"updated\": \"2020-07-14T16:26:48.672Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:48.672Z\"\n}\n" + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CPOyyfr1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:08.173Z\",\n \"updated\": \"2020-09-02T16:46:08.173Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:08.173Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '718' - Content-Type: application/json; charset=UTF-8 - Etag: CPOJlLGUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '714' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CPOyyfr1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -408,30 +395,36 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1594744008672499\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1599065168173427\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1594744008672499&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1599065168173427&alt=media\",\n \ \"name\": \"temp\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744008672499\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599065168173427\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n \"crc32c\": - \"AAAAAA==\",\n \"etag\": \"CPOJlLGUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:48.672Z\",\n \"updated\": \"2020-07-14T16:26:48.672Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:48.672Z\"\n }\n ]\n}\n" + \"AAAAAA==\",\n \"etag\": \"CPOyyfr1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:08.173Z\",\n \"updated\": \"2020-09-02T16:46:08.173Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:08.173Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '844' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '840' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -461,21 +454,33 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_sTc1GnwYfjI_AAR2BcO4_AU\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_TsG_5Hm0nDg_AAGvCrjwSQA\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:26:49 GMT\r\n\r\n\r\n--batch_sTc1GnwYfjI_AAR2BcO4_AU--\r\n" + Wed, 02 Sep 2020 16:46:08 GMT\r\n\r\n\r\n--batch_TsG_5Hm0nDg_AAGvCrjwSQA--\r\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_sTc1GnwYfjI_AAR2BcO4_AU - Pragma: no-cache - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_TsG_5Hm0nDg_AAGvCrjwSQA + Pragma: + - no-cache + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_file_access.yaml b/gcsfs/tests/recordings/test_file_access.yaml index cd66f91e..788bbb3b 100644 --- a/gcsfs/tests/recordings/test_file_access.yaml +++ b/gcsfs/tests/recordings/test_file_access.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAGfcDV8C/4XPsQ7DIAwE0F9BzC3sGfsjkQVOggoYYSNSVfn3hnbqlPFON7x7a3AOmWehJ2Y9 - Kb3vu74pzY4KjryJFJ6s7b2blWiNCCWwcZQsNNmsi9T8vUSQhWpSV/PGWENeyGCCEC/np45aFjYV - R1YnKgc/gF/wLK+f8oFQsY4++P8vxwdVrNCv4wAAAA== + H4sIABbMT18C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP + Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTbbGGvICxlMEKK6irtIzd9LBFmoJnWO5OAvWyck + tSxsKg49AL/As7x+lA+EinX4wf9/OT4eaDG04wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:12.586Z\",\n \"updated\": \"2020-07-14T16:25:12.586Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: null @@ -152,10 +136,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUnEN3rmaruAZF1703QHIcJlTXsyd2epgRY0qd3shRMAbveyXh2JVIdZO41zsr6rPVagub1ezcFuBMSL-4QRoCM5E0DwQw + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxmN-NX4Y-EWpeod-L0_m3RNj0IQI8QQa3KeKETtEcMSErChO02wTJscZW0_vMmp_9RQAZSlUeFbduWDvrGWg Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -172,30 +156,38 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUnEN3rmaruAZF1703QHIcJlTXsyd2epgRY0qd3shRMAbveyXh2JVIdZO41zsr6rPVagub1ezcFuBMSL-4QRoCM5E0DwQw + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxmN-NX4Y-EWpeod-L0_m3RNj0IQI8QQa3KeKETtEcMSErChO02wTJscZW0_vMmp_9RQAZSlUeFbduWDvrGWg response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1594743913471042\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065111858945\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594743913471042&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065111858945&alt=media\",\n \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743913471042\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065111858945\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CMK44YOUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:13.470Z\",\n \"updated\": \"2020-07-14T16:25:13.470Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:13.470Z\"\n}\n" + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CIGe3N/1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:11.858Z\",\n \"updated\": \"2020-09-02T16:45:11.858Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:11.858Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CMK44YOUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CIGe3N/1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUnEN3rmaruAZF1703QHIcJlTXsyd2epgRY0qd3shRMAbveyXh2JVIdZO41zsr6rPVagub1ezcFuBMSL-4QRoCM5E0DwQw + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxmN-NX4Y-EWpeod-L0_m3RNj0IQI8QQa3KeKETtEcMSErChO02wTJscZW0_vMmp_9RQAZSlUeFbduWDvrGWg - request: body: null headers: {} @@ -207,18 +199,31 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '6' - Content-Type: application/octet-stream - Etag: CMK44YOUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594743913471042' - X-Goog-Hash: crc32c=NT3Yvg==,md5=sZRqySSS0jR8YjW00mERhA== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '6' + Content-Type: + - application/octet-stream + Etag: + - CIGe3N/1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065111858945' + X-Goog-Hash: + - crc32c=NT3Yvg==,md5=sZRqySSS0jR8YjW00mERhA== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK @@ -230,22 +235,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1 response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1594743913471042\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065111858945\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594743913471042&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065111858945&alt=media\",\n \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743913471042\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065111858945\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CMK44YOUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:13.470Z\",\n \"updated\": \"2020-07-14T16:25:13.470Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:13.470Z\"\n}\n" + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CIGe3N/1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:11.858Z\",\n \"updated\": \"2020-09-02T16:45:11.858Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:11.858Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CMK44YOUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CIGe3N/1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -256,29 +268,42 @@ interactions: Range: - bytes=0-5 method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?alt=media&generation=1594743913471042 + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?alt=media&generation=1599065111858945 response: body: string: 'hello ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '6' - Content-Range: bytes 0-5/6 - Content-Type: application/octet-stream - Etag: CMK44YOUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594743913471042' - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '6' + Content-Range: + - bytes 0-5/6 + Content-Type: + - application/octet-stream + Etag: + - CIGe3N/1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065111858945' + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 206 message: Partial Content - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594743913471042&alt=media + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065111858945&alt=media - request: body: null headers: {} @@ -286,22 +311,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1 response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1594743913471042\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065111858945\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594743913471042&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065111858945&alt=media\",\n \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743913471042\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065111858945\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CMK44YOUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:13.470Z\",\n \"updated\": \"2020-07-14T16:25:13.470Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:13.470Z\"\n}\n" + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CIGe3N/1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:11.858Z\",\n \"updated\": \"2020-09-02T16:45:11.858Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:11.858Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CMK44YOUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CIGe3N/1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -312,29 +344,42 @@ interactions: Range: - bytes=3-5 method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?alt=media&generation=1594743913471042 + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?alt=media&generation=1599065111858945 response: body: string: 'lo ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '3' - Content-Range: bytes 3-5/6 - Content-Type: application/octet-stream - Etag: CMK44YOUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594743913471042' - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '3' + Content-Range: + - bytes 3-5/6 + Content-Type: + - application/octet-stream + Etag: + - CIGe3N/1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065111858945' + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 206 message: Partial Content - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594743913471042&alt=media + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065111858945&alt=media - request: body: null headers: {} @@ -342,22 +387,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1 response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1594743913471042\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065111858945\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594743913471042&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065111858945&alt=media\",\n \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743913471042\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065111858945\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CMK44YOUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:13.470Z\",\n \"updated\": \"2020-07-14T16:25:13.470Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:13.470Z\"\n}\n" + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CIGe3N/1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:11.858Z\",\n \"updated\": \"2020-09-02T16:45:11.858Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:11.858Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CMK44YOUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CIGe3N/1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -368,76 +420,76 @@ interactions: Range: - bytes=0-5 method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?alt=media&generation=1594743913471042 + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?alt=media&generation=1599065111858945 response: body: string: 'hello ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '6' - Content-Range: bytes 0-5/6 - Content-Type: application/octet-stream - Etag: CMK44YOUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594743913471042' - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '6' + Content-Range: + - bytes 0-5/6 + Content-Type: + - application/octet-stream + Etag: + - CIGe3N/1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065111858945' + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 206 message: Partial Content - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594743913471042&alt=media + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065111858945&alt=media - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/\"\n - \ ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '67' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1594743913471042\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065111858945\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594743913471042&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065111858945&alt=media\",\n \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743913471042\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065111858945\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CMK44YOUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:13.470Z\",\n \"updated\": \"2020-07-14T16:25:13.470Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:13.470Z\"\n }\n ]\n}\n" + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CIGe3N/1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:11.858Z\",\n \"updated\": \"2020-09-02T16:45:11.858Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:11.858Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '880' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '876' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -467,21 +519,33 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_q-22o-I06dk_AAQmrRLv5m0\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_59QwcbKIeLY_AAHd0hfS-m4\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:25:15 GMT\r\n\r\n\r\n--batch_q-22o-I06dk_AAQmrRLv5m0--\r\n" + Wed, 02 Sep 2020 16:45:13 GMT\r\n\r\n\r\n--batch_59QwcbKIeLY_AAHd0hfS-m4--\r\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_q-22o-I06dk_AAQmrRLv5m0 - Pragma: no-cache - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_59QwcbKIeLY_AAHd0hfS-m4 + Pragma: + - no-cache + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_file_info.yaml b/gcsfs/tests/recordings/test_file_info.yaml index 4998cf51..a5bdccda 100644 --- a/gcsfs/tests/recordings/test_file_info.yaml +++ b/gcsfs/tests/recordings/test_file_info.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAGvcDV8C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP - Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTbbGGvICxlMEKK6ip9z1LKwqTi0Oldy8Jc1F6n5 - e4kgC9U0AL/As7x+lA+EinX4wf9/OT5qoa7S4wAAAA== + H4sIABnMT18C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULne1I82+NTiHzLPQE7Oe + lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmzWRWr+XiLIQjWpk8rBqyuqMdaQFzKYIMTL+SlJ + LQubiiMPwa/wLK+f5QOhYh198P9fjg+YY4lN4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:16.619Z\",\n \"updated\": \"2020-07-14T16:25:16.619Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: null @@ -152,10 +136,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUl8D6CyBdlcPCR87rDo8cAp02LckRrWH2mBhQv6QNzg0oecU14MQV2ezq_3vKy4UcXFXxOT8G80D1Z3KNmADZgo67qRYQ + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UyKOqR_-YbpOaR3Q5Rd6Klxx3scs5ugWGSShUxHofzWgroqyS0LlKq-s5jrcFAJMRhdXNgrR10sDmZjlnDuWg Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -172,77 +156,338 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUl8D6CyBdlcPCR87rDo8cAp02LckRrWH2mBhQv6QNzg0oecU14MQV2ezq_3vKy4UcXFXxOT8G80D1Z3KNmADZgo67qRYQ + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UyKOqR_-YbpOaR3Q5Rd6Klxx3scs5ugWGSShUxHofzWgroqyS0LlKq-s5jrcFAJMRhdXNgrR10sDmZjlnDuWg response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1594743917473503\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065114416824\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594743917473503&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065114416824&alt=media\",\n \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743917473503\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065114416824\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CN/d1YWUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:17.473Z\",\n \"updated\": \"2020-07-14T16:25:17.473Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:17.473Z\"\n}\n" + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CLit+OD1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:14.416Z\",\n \"updated\": \"2020-09-02T16:45:14.416Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:14.416Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CN/d1YWUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CLit+OD1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUl8D6CyBdlcPCR87rDo8cAp02LckRrWH2mBhQv6QNzg0oecU14MQV2ezq_3vKy4UcXFXxOT8G80D1Z3KNmADZgo67qRYQ + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UyKOqR_-YbpOaR3Q5Rd6Klxx3scs5ugWGSShUxHofzWgroqyS0LlKq-s5jrcFAJMRhdXNgrR10sDmZjlnDuWg - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/\"\n - \ ]\n}\n" + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065114416824\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065114416824&alt=media\",\n + \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065114416824\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CLit+OD1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:14.416Z\",\n \"updated\": \"2020-09-02T16:45:14.416Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:14.416Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '67' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '876' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1 + response: + body: + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065114416824\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065114416824&alt=media\",\n + \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065114416824\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CLit+OD1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:14.416Z\",\n \"updated\": \"2020-09-02T16:45:14.416Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:14.416Z\"\n}\n" + headers: + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CLit+OD1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1 +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1another + response: + body: + string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: + gcsfs-testing/nested/file1another\",\n \"errors\": [\n {\n \"message\": + \"No such object: gcsfs-testing/nested/file1another\",\n \"domain\": + \"global\",\n \"reason\": \"notFound\"\n }\n ]\n }\n}\n" + headers: + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '271' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: + code: 404 + message: Not Found + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1another +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2Ffile1another%2F + response: + body: + string: "{\n \"kind\": \"storage#objects\"\n}\n" + headers: + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/file1another/ +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1another + response: + body: + string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: + gcsfs-testing/nested/file1another\",\n \"errors\": [\n {\n \"message\": + \"No such object: gcsfs-testing/nested/file1another\",\n \"domain\": + \"global\",\n \"reason\": \"notFound\"\n }\n ]\n }\n}\n" + headers: + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '271' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: + code: 404 + message: Not Found + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1another +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1 + response: + body: + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065114416824\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065114416824&alt=media\",\n + \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065114416824\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CLit+OD1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:14.416Z\",\n \"updated\": \"2020-09-02T16:45:14.416Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:14.416Z\"\n}\n" + headers: + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CLit+OD1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1 +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1another + response: + body: + string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: + gcsfs-testing/nested/file1another\",\n \"errors\": [\n {\n \"message\": + \"No such object: gcsfs-testing/nested/file1another\",\n \"domain\": + \"global\",\n \"reason\": \"notFound\"\n }\n ]\n }\n}\n" + headers: + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '271' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: + code: 404 + message: Not Found + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1another +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2Ffile1another%2F + response: + body: + string: "{\n \"kind\": \"storage#objects\"\n}\n" + headers: + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/file1another/ +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1another + response: + body: + string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: + gcsfs-testing/nested/file1another\",\n \"errors\": [\n {\n \"message\": + \"No such object: gcsfs-testing/nested/file1another\",\n \"domain\": + \"global\",\n \"reason\": \"notFound\"\n }\n ]\n }\n}\n" + headers: + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '271' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: + code: 404 + message: Not Found + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1another +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1594743917473503\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065114416824\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594743917473503&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065114416824&alt=media\",\n \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743917473503\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065114416824\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CN/d1YWUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:17.473Z\",\n \"updated\": \"2020-07-14T16:25:17.473Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:17.473Z\"\n }\n ]\n}\n" + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CLit+OD1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:14.416Z\",\n \"updated\": \"2020-09-02T16:45:14.416Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:14.416Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '880' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '876' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -272,21 +517,33 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_2Wvo57_n0t4_AAZK6-sOc7Q\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_fjibZATOX7Y_AAYokbzJWcs\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:25:18 GMT\r\n\r\n\r\n--batch_2Wvo57_n0t4_AAZK6-sOc7Q--\r\n" + Wed, 02 Sep 2020 16:45:15 GMT\r\n\r\n\r\n--batch_fjibZATOX7Y_AAYokbzJWcs--\r\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_2Wvo57_n0t4_AAZK6-sOc7Q - Pragma: no-cache - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_fjibZATOX7Y_AAYokbzJWcs + Pragma: + - no-cache + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_flush.yaml b/gcsfs/tests/recordings/test_flush.yaml index c4b436d8..64a9d1c0 100644 --- a/gcsfs/tests/recordings/test_flush.yaml +++ b/gcsfs/tests/recordings/test_flush.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIANfcDV8C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP - Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTbrIjV/LxFkoZrU2crBq6vWuUotC5uKQ1/mG2MN - eSGDCUIcgF/gWV4/ygdCxTr84P+/HB99IHep4wAAAA== + H4sIAFzMT18C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP + Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTZ79qllYVNxaHWVb4w15IUMJghRnSs5+MuWi9T8 + vUSQhWoagF/gWV4/ygdCxTr84P+/HB+fT0zw4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:05.156Z\",\n \"updated\": \"2020-07-14T16:27:05.156Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: null @@ -152,10 +136,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUn8TvCOxMglqyXmDmwc2Kw7Ztw8iKJx9AWKZW_SetVGJK0PtiDuSXyfL1EDdKpT5ad-sUzXWcAIXUcVS8t4SYbie5O0aA + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uylnn9cJVSju9fExLAm_leYLqmwiQp2kpOh1PuDtvmAj6_MNbD7jS1YUEHzUCDsWHrNZy22T6jqN_0JB0o42LXd-bbW-A Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -170,30 +154,38 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUn8TvCOxMglqyXmDmwc2Kw7Ztw8iKJx9AWKZW_SetVGJK0PtiDuSXyfL1EDdKpT5ad-sUzXWcAIXUcVS8t4SYbie5O0aA + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uylnn9cJVSju9fExLAm_leYLqmwiQp2kpOh1PuDtvmAj6_MNbD7jS1YUEHzUCDsWHrNZy22T6jqN_0JB0o42LXd-bbW-A response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594744025974105\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065181309609\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744025974105&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065181309609&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744025974105\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065181309609\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n - \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CNmKtLmUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:05.973Z\",\n \"updated\": \"2020-07-14T16:27:05.973Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:05.973Z\"\n}\n" + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CKmV64D2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:21.309Z\",\n \"updated\": \"2020-09-02T16:46:21.309Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:21.309Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '750' - Content-Type: application/json; charset=UTF-8 - Etag: CNmKtLmUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '746' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CKmV64D2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUn8TvCOxMglqyXmDmwc2Kw7Ztw8iKJx9AWKZW_SetVGJK0PtiDuSXyfL1EDdKpT5ad-sUzXWcAIXUcVS8t4SYbie5O0aA + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uylnn9cJVSju9fExLAm_leYLqmwiQp2kpOh1PuDtvmAj6_MNbD7jS1YUEHzUCDsWHrNZy22T6jqN_0JB0o42LXd-bbW-A - request: body: null headers: {} @@ -201,22 +193,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594744025974105\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065181309609\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744025974105&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065181309609&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744025974105\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065181309609\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n - \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CNmKtLmUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:05.973Z\",\n \"updated\": \"2020-07-14T16:27:05.973Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:05.973Z\"\n}\n" + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CKmV64D2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:21.309Z\",\n \"updated\": \"2020-09-02T16:46:21.309Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:21.309Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '750' - Content-Type: application/json; charset=UTF-8 - Etag: CNmKtLmUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '746' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CKmV64D2yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -233,12 +232,19 @@ interactions: \"No such object: gcsfs-testing/tmp/test/b\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '255' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '253' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found @@ -252,11 +258,17 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -273,12 +285,19 @@ interactions: \"No such object: gcsfs-testing/tmp/test/b\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '255' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '253' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found @@ -297,10 +316,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUkafgNi7mqPMJK8Bl2II4533fTUlXrnE4KZhGZC2GQwJVYS2N2DaVhJ_-F_sd-6ude38YeVM6ntZSbwTwABDW0ExBqbpA + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UzWCD9jr2Z6XkYlEbmA-1lDu-oItKkSCPBUrgIve5dIfoYcgziafCi7pnYd4HJcJXDgfNSb-svGuHiWH3zGZS9pSPSJ0A Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -315,30 +334,38 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUkafgNi7mqPMJK8Bl2II4533fTUlXrnE4KZhGZC2GQwJVYS2N2DaVhJ_-F_sd-6ude38YeVM6ntZSbwTwABDW0ExBqbpA + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UzWCD9jr2Z6XkYlEbmA-1lDu-oItKkSCPBUrgIve5dIfoYcgziafCi7pnYd4HJcJXDgfNSb-svGuHiWH3zGZS9pSPSJ0A response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/b/1594744027475249\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/b/1599065182177575\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fb\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fb?generation=1594744027475249&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fb?generation=1599065182177575&alt=media\",\n \ \"name\": \"tmp/test/b\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744027475249\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065182177575\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"3\",\n \"md5Hash\": \"kAFQmDzST7DWlj99KOF/cg==\",\n - \ \"crc32c\": \"Nks/tw==\",\n \"etag\": \"CLHaj7qUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:07.475Z\",\n \"updated\": \"2020-07-14T16:27:07.475Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:07.475Z\"\n}\n" + \ \"crc32c\": \"Nks/tw==\",\n \"etag\": \"CKeSoIH2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:22.177Z\",\n \"updated\": \"2020-09-02T16:46:22.177Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:22.177Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '750' - Content-Type: application/json; charset=UTF-8 - Etag: CLHaj7qUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '746' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CKeSoIH2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUkafgNi7mqPMJK8Bl2II4533fTUlXrnE4KZhGZC2GQwJVYS2N2DaVhJ_-F_sd-6ude38YeVM6ntZSbwTwABDW0ExBqbpA + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UzWCD9jr2Z6XkYlEbmA-1lDu-oItKkSCPBUrgIve5dIfoYcgziafCi7pnYd4HJcJXDgfNSb-svGuHiWH3zGZS9pSPSJ0A - request: body: null headers: {} @@ -346,22 +373,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fb response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/b/1594744027475249\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/b/1599065182177575\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fb\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fb?generation=1594744027475249&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fb?generation=1599065182177575&alt=media\",\n \ \"name\": \"tmp/test/b\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744027475249\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065182177575\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"3\",\n \"md5Hash\": \"kAFQmDzST7DWlj99KOF/cg==\",\n - \ \"crc32c\": \"Nks/tw==\",\n \"etag\": \"CLHaj7qUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:07.475Z\",\n \"updated\": \"2020-07-14T16:27:07.475Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:07.475Z\"\n}\n" + \ \"crc32c\": \"Nks/tw==\",\n \"etag\": \"CKeSoIH2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:22.177Z\",\n \"updated\": \"2020-09-02T16:46:22.177Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:22.177Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '750' - Content-Type: application/json; charset=UTF-8 - Etag: CLHaj7qUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '746' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CKeSoIH2yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -370,78 +404,46 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"tmp/\"\n - \ ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '64' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=tmp%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"tmp/test/\"\n - \ ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '69' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=tmp/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=tmp%2Ftest%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594744025974105\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065181309609\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744025974105&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065181309609&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744025974105\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599065181309609\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n \"crc32c\": - \"AAAAAA==\",\n \"etag\": \"CNmKtLmUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:05.973Z\",\n \"updated\": \"2020-07-14T16:27:05.973Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:05.973Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/b/1594744027475249\",\n + \"AAAAAA==\",\n \"etag\": \"CKmV64D2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:21.309Z\",\n \"updated\": \"2020-09-02T16:46:21.309Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:21.309Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/b/1599065182177575\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fb\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fb?generation=1594744027475249&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fb?generation=1599065182177575&alt=media\",\n \ \"name\": \"tmp/test/b\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744027475249\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599065182177575\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"3\",\n \"md5Hash\": \"kAFQmDzST7DWlj99KOF/cg==\",\n \"crc32c\": - \"Nks/tw==\",\n \"etag\": \"CLHaj7qUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:07.475Z\",\n \"updated\": \"2020-07-14T16:27:07.475Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:07.475Z\"\n }\n ]\n}\n" + \"Nks/tw==\",\n \"etag\": \"CKeSoIH2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:22.177Z\",\n \"updated\": \"2020-09-02T16:46:22.177Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:22.177Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1703' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '1695' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=tmp/test/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -489,22 +491,33 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_llHfUO1YEUg_AAKsdlQ14T4\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_2cazJg-9ecs_AAmxY9nWimI\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:27:08 GMT\r\n\r\n\r\n--batch_llHfUO1YEUg_AAKsdlQ14T4\r\nContent-Type: + Wed, 02 Sep 2020 16:46:22 GMT\r\n\r\n\r\n--batch_2cazJg-9ecs_AAmxY9nWimI\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:27:08 GMT\r\n\r\n\r\n--batch_llHfUO1YEUg_AAKsdlQ14T4--\r\n" + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:22 GMT\r\n\r\n\r\n--batch_2cazJg-9ecs_AAmxY9nWimI--\r\n" headers: - Cache-Control: private, max-age=0 - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_llHfUO1YEUg_AAKsdlQ14T4 - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - private, max-age=0 + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_2cazJg-9ecs_AAmxY9nWimI + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_gcs_glob.yaml b/gcsfs/tests/recordings/test_gcs_glob.yaml index 2222c0a7..ea4a066a 100644 --- a/gcsfs/tests/recordings/test_gcs_glob.yaml +++ b/gcsfs/tests/recordings/test_gcs_glob.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAH3cDV8C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP - Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTbbGGvICxlMEKK6irtIzd9LBFmoJnWO5OAvWyck - tSxsKg49AL/As7x+lA+EinX4wf9/OT4eaDG04wAAAA== + H4sIACbMT18C/4XPsQ7DIAwE0F9BzC3sGfsjkQVOggoYYSNSVfn3hnbqlPFON7x7a3AOmWehJ2Y9 + Kb3vu74pzY4KjryJFJ6s7b2blWiNCCWwcZQsNNmsi9T8vUSQhWpSV/PGWENeyGCCEC/np45aFjYV + R1YnKgc/gF/wLK+f8oFQsY4++P8vxwdVrNCv4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:34.854Z\",\n \"updated\": \"2020-07-14T16:25:34.854Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" + headers: + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: '--==0== @@ -168,24 +152,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594743935176346\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065127545980\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594743935176346&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065127545980&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743935176346\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065127545980\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"CJqdjo6UzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:25:35.176Z\",\n - \ \"updated\": \"2020-07-14T16:25:35.176Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:25:35.176Z\"\n}\n" + \ \"etag\": \"CPzYmef1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:27.545Z\",\n + \ \"updated\": \"2020-09-02T16:45:27.545Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:27.545Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CJqdjo6UzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CPzYmef1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -214,24 +206,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594743935189985\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065127579446\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594743935189985&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065127579446&alt=media\",\n \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743935189985\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065127579446\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n \"crc32c\": \"NT3Yvg==\",\n - \ \"etag\": \"COGHj46UzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:25:35.189Z\",\n - \ \"updated\": \"2020-07-14T16:25:35.189Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:25:35.189Z\"\n}\n" + \ \"etag\": \"CLbem+f1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:27.579Z\",\n + \ \"updated\": \"2020-09-02T16:45:27.579Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:27.579Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: COGHj46UzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CLbem+f1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -242,14 +242,21 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/file2"} + {"name": "test/accounts.2.json"} --==0== Content-Type: application/octet-stream - world + {"amount": 500, "name": "Alice"} + + {"amount": 600, "name": "Bob"} + + {"amount": 700, "name": "Charlie"} + + {"amount": 800, "name": "Dennis"} + --==0==--' headers: @@ -259,23 +266,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594743935195976\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594743935195976&alt=media\",\n - \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743935195976\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CMi2j46UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:35.195Z\",\n \"updated\": \"2020-07-14T16:25:35.195Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:35.195Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065127582143\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065127582143&alt=media\",\n + \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127582143\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n + \ \"etag\": \"CL/zm+f1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:27.582Z\",\n + \ \"updated\": \"2020-09-02T16:45:27.582Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:27.582Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CMi2j46UzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CL/zm+f1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -304,23 +320,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1594743935206598\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065127602124\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594743935206598&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065127602124&alt=media\",\n \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743935206598\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065127602124\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CMaJkI6UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:35.206Z\",\n \"updated\": \"2020-07-14T16:25:35.206Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:35.206Z\"\n}\n" + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CMyPnef1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.601Z\",\n \"updated\": \"2020-09-02T16:45:27.601Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.601Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CMaJkI6UzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CMyPnef1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -331,21 +355,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-01.csv"} + {"name": "nested/nested2/file2"} --==0== Content-Type: application/octet-stream - name,amount,id - - Alice,100,1 - - Bob,200,2 - - Charlie,300,3 - + world --==0==--' headers: @@ -355,23 +372,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1594743935294228\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594743935294228&alt=media\",\n - \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743935294228\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CJS2lY6UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:35.294Z\",\n \"updated\": \"2020-07-14T16:25:35.294Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:35.294Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065127604953\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065127604953&alt=media\",\n + \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127604953\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n \"crc32c\": \"MaqBTg==\",\n + \ \"etag\": \"CNmlnef1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:27.604Z\",\n + \ \"updated\": \"2020-09-02T16:45:27.604Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:27.604Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CJS2lY6UzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CNmlnef1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -382,14 +408,21 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/nested2/file2"} + {"name": "2014-01-01.csv"} --==0== Content-Type: application/octet-stream - world + name,amount,id + + Alice,100,1 + + Bob,200,2 + + Charlie,300,3 + --==0==--' headers: @@ -399,24 +432,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594743935295255\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594743935295255&alt=media\",\n - \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743935295255\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n \"crc32c\": \"MaqBTg==\",\n - \ \"etag\": \"CJe+lY6UzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:25:35.295Z\",\n - \ \"updated\": \"2020-07-14T16:25:35.295Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:25:35.295Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065127608554\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065127608554&alt=media\",\n + \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065127608554\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"COrBnef1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.608Z\",\n \"updated\": \"2020-09-02T16:45:27.608Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.608Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: CJe+lY6UzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - COrBnef1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -427,21 +467,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "test/accounts.2.json"} + {"name": "nested/file2"} --==0== Content-Type: application/octet-stream - {"amount": 500, "name": "Alice"} - - {"amount": 600, "name": "Bob"} - - {"amount": 700, "name": "Charlie"} - - {"amount": 800, "name": "Dennis"} - + world --==0==--' headers: @@ -451,24 +484,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594743935309674\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594743935309674&alt=media\",\n - \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743935309674\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n - \ \"etag\": \"COqulo6UzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:25:35.309Z\",\n - \ \"updated\": \"2020-07-14T16:25:35.309Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:25:35.309Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065127641363\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065127641363&alt=media\",\n + \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065127641363\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CJPCn+f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.641Z\",\n \"updated\": \"2020-09-02T16:45:27.641Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.641Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: COqulo6UzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CJPCn+f1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -497,23 +537,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594743936290786\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065127652524\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594743936290786&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065127652524&alt=media\",\n \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743936290786\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065127652524\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"COKf0o6UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:36.290Z\",\n \"updated\": \"2020-07-14T16:25:36.290Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:36.290Z\"\n}\n" + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CKyZoOf1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.652Z\",\n \"updated\": \"2020-09-02T16:45:27.652Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.652Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: COKf0o6UzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CKyZoOf1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -548,23 +596,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594743936365503\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065128623166\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594743936365503&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065128623166&alt=media\",\n \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743936365503\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065128623166\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CL/n1o6UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:36.365Z\",\n \"updated\": \"2020-07-14T16:25:36.365Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:36.365Z\"\n}\n" + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CL642+f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:28.623Z\",\n \"updated\": \"2020-09-02T16:45:28.623Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:28.623Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CL/n1o6UzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CL642+f1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -573,165 +629,1124 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/\",\n - \ \"test/\"\n ],\n \"items\": [\n {\n \"kind\": \"storage#object\",\n - \ \"id\": \"gcsfs-testing/2014-01-01.csv/1594743935294228\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594743935294228&alt=media\",\n + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065127608554\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065127608554&alt=media\",\n \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743935294228\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065127608554\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CJS2lY6UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:35.294Z\",\n \"updated\": \"2020-07-14T16:25:35.294Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:35.294Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594743936290786\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"COrBnef1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.608Z\",\n \"updated\": \"2020-09-02T16:45:27.608Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.608Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065127652524\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594743936290786&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065127652524&alt=media\",\n \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743936290786\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065127652524\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"COKf0o6UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:36.290Z\",\n \"updated\": \"2020-07-14T16:25:36.290Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:36.290Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594743936365503\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CKyZoOf1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.652Z\",\n \"updated\": \"2020-09-02T16:45:27.652Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.652Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065128623166\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594743936365503&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065128623166&alt=media\",\n \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743936365503\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065128623166\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CL/n1o6UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:36.365Z\",\n \"updated\": \"2020-07-14T16:25:36.365Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:36.365Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '2605' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/nested2/\"\n - \ ],\n \"items\": [\n {\n \"kind\": \"storage#object\",\n \"id\": - \"gcsfs-testing/nested/file1/1594743935206598\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594743935206598&alt=media\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CL642+f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:28.623Z\",\n \"updated\": \"2020-09-02T16:45:28.623Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:28.623Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065127602124\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065127602124&alt=media\",\n \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743935206598\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065127602124\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CMaJkI6UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:35.206Z\",\n \"updated\": \"2020-07-14T16:25:35.206Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:35.206Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594743935195976\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CMyPnef1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.601Z\",\n \"updated\": \"2020-09-02T16:45:27.601Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.601Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065127641363\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594743935195976&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065127641363&alt=media\",\n \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743935195976\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065127641363\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CJPCn+f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.641Z\",\n \"updated\": \"2020-09-02T16:45:27.641Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.641Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065127579446\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065127579446&alt=media\",\n + \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127579446\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CLbem+f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.579Z\",\n \"updated\": \"2020-09-02T16:45:27.579Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.579Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065127604953\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065127604953&alt=media\",\n + \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127604953\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CMi2j46UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:35.195Z\",\n \"updated\": \"2020-07-14T16:25:35.195Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:35.195Z\"\n }\n ]\n}\n" + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CNmlnef1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.604Z\",\n \"updated\": \"2020-09-02T16:45:27.604Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.604Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065127545980\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065127545980&alt=media\",\n + \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127545980\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CPzYmef1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.545Z\",\n \"updated\": \"2020-09-02T16:45:27.545Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.545Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065127582143\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065127582143&alt=media\",\n + \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127582143\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n + \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CL/zm+f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.582Z\",\n \"updated\": \"2020-09-02T16:45:27.582Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.582Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1754' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '7647' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=test%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594743935176346\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065127608554\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065127608554&alt=media\",\n + \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127608554\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"COrBnef1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.608Z\",\n \"updated\": \"2020-09-02T16:45:27.608Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.608Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065127652524\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065127652524&alt=media\",\n + \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127652524\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CKyZoOf1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.652Z\",\n \"updated\": \"2020-09-02T16:45:27.652Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.652Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065128623166\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065128623166&alt=media\",\n + \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065128623166\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CL642+f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:28.623Z\",\n \"updated\": \"2020-09-02T16:45:28.623Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:28.623Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065127602124\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065127602124&alt=media\",\n + \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127602124\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CMyPnef1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.601Z\",\n \"updated\": \"2020-09-02T16:45:27.601Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.601Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065127641363\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065127641363&alt=media\",\n + \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127641363\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CJPCn+f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.641Z\",\n \"updated\": \"2020-09-02T16:45:27.641Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.641Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065127579446\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065127579446&alt=media\",\n + \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127579446\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CLbem+f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.579Z\",\n \"updated\": \"2020-09-02T16:45:27.579Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.579Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065127604953\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065127604953&alt=media\",\n + \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127604953\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CNmlnef1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.604Z\",\n \"updated\": \"2020-09-02T16:45:27.604Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.604Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065127545980\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594743935176346&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065127545980&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743935176346\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065127545980\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n - \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CJqdjo6UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:35.176Z\",\n \"updated\": \"2020-07-14T16:25:35.176Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:35.176Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594743935309674\",\n + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CPzYmef1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.545Z\",\n \"updated\": \"2020-09-02T16:45:27.545Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.545Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065127582143\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594743935309674&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065127582143&alt=media\",\n \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743935309674\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065127582143\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n - \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"COqulo6UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:35.309Z\",\n \"updated\": \"2020-07-14T16:25:35.309Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:35.309Z\"\n }\n ]\n}\n" + \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CL/zm+f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.582Z\",\n \"updated\": \"2020-09-02T16:45:27.582Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.582Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1779' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '7647' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=test/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2Fnested2%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=nested%2F response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594743935189985\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594743935189985&alt=media\",\n - \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743935189985\",\n \"metageneration\": \"1\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065127602124\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065127602124&alt=media\",\n + \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127602124\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"COGHj46UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:35.189Z\",\n \"updated\": \"2020-07-14T16:25:35.189Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:35.189Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594743935295255\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CMyPnef1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.601Z\",\n \"updated\": \"2020-09-02T16:45:27.601Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.601Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065127641363\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065127641363&alt=media\",\n + \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127641363\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CJPCn+f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.641Z\",\n \"updated\": \"2020-09-02T16:45:27.641Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.641Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065127579446\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065127579446&alt=media\",\n + \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127579446\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CLbem+f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.579Z\",\n \"updated\": \"2020-09-02T16:45:27.579Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.579Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065127604953\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594743935295255&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065127604953&alt=media\",\n \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743935295255\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065127604953\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CJe+lY6UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:35.295Z\",\n \"updated\": \"2020-07-14T16:25:35.295Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:35.295Z\"\n }\n ]\n}\n" + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CNmlnef1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.604Z\",\n \"updated\": \"2020-09-02T16:45:27.604Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.604Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1783' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '3429' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=nested/ +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=nested%2F + response: + body: + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065127602124\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065127602124&alt=media\",\n + \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127602124\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CMyPnef1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.601Z\",\n \"updated\": \"2020-09-02T16:45:27.601Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.601Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065127641363\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065127641363&alt=media\",\n + \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127641363\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CJPCn+f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.641Z\",\n \"updated\": \"2020-09-02T16:45:27.641Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.641Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065127579446\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065127579446&alt=media\",\n + \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127579446\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CLbem+f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.579Z\",\n \"updated\": \"2020-09-02T16:45:27.579Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.579Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065127604953\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065127604953&alt=media\",\n + \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127604953\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CNmlnef1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.604Z\",\n \"updated\": \"2020-09-02T16:45:27.604Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.604Z\"\n }\n ]\n}\n" + headers: + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '3429' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=nested/ +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=nested%2F + response: + body: + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065127602124\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065127602124&alt=media\",\n + \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127602124\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CMyPnef1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.601Z\",\n \"updated\": \"2020-09-02T16:45:27.601Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.601Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065127641363\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065127641363&alt=media\",\n + \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127641363\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CJPCn+f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.641Z\",\n \"updated\": \"2020-09-02T16:45:27.641Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.641Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065127579446\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065127579446&alt=media\",\n + \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127579446\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CLbem+f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.579Z\",\n \"updated\": \"2020-09-02T16:45:27.579Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.579Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065127604953\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065127604953&alt=media\",\n + \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127604953\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CNmlnef1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.604Z\",\n \"updated\": \"2020-09-02T16:45:27.604Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.604Z\"\n }\n ]\n}\n" + headers: + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '3429' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=nested/ +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ + response: + body: + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065127608554\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065127608554&alt=media\",\n + \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127608554\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"COrBnef1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.608Z\",\n \"updated\": \"2020-09-02T16:45:27.608Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.608Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065127652524\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065127652524&alt=media\",\n + \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127652524\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CKyZoOf1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.652Z\",\n \"updated\": \"2020-09-02T16:45:27.652Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.652Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065128623166\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065128623166&alt=media\",\n + \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065128623166\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CL642+f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:28.623Z\",\n \"updated\": \"2020-09-02T16:45:28.623Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:28.623Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065127602124\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065127602124&alt=media\",\n + \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127602124\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CMyPnef1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.601Z\",\n \"updated\": \"2020-09-02T16:45:27.601Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.601Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065127641363\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065127641363&alt=media\",\n + \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127641363\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CJPCn+f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.641Z\",\n \"updated\": \"2020-09-02T16:45:27.641Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.641Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065127579446\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065127579446&alt=media\",\n + \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127579446\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CLbem+f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.579Z\",\n \"updated\": \"2020-09-02T16:45:27.579Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.579Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065127604953\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065127604953&alt=media\",\n + \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127604953\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CNmlnef1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.604Z\",\n \"updated\": \"2020-09-02T16:45:27.604Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.604Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065127545980\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065127545980&alt=media\",\n + \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127545980\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CPzYmef1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.545Z\",\n \"updated\": \"2020-09-02T16:45:27.545Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.545Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065127582143\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065127582143&alt=media\",\n + \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127582143\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n + \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CL/zm+f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.582Z\",\n \"updated\": \"2020-09-02T16:45:27.582Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.582Z\"\n }\n ]\n}\n" + headers: + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '7647' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ + response: + body: + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065127608554\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065127608554&alt=media\",\n + \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127608554\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"COrBnef1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.608Z\",\n \"updated\": \"2020-09-02T16:45:27.608Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.608Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065127652524\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065127652524&alt=media\",\n + \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127652524\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CKyZoOf1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.652Z\",\n \"updated\": \"2020-09-02T16:45:27.652Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.652Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065128623166\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065128623166&alt=media\",\n + \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065128623166\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CL642+f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:28.623Z\",\n \"updated\": \"2020-09-02T16:45:28.623Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:28.623Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065127602124\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065127602124&alt=media\",\n + \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127602124\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CMyPnef1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.601Z\",\n \"updated\": \"2020-09-02T16:45:27.601Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.601Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065127641363\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065127641363&alt=media\",\n + \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127641363\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CJPCn+f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.641Z\",\n \"updated\": \"2020-09-02T16:45:27.641Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.641Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065127579446\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065127579446&alt=media\",\n + \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127579446\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CLbem+f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.579Z\",\n \"updated\": \"2020-09-02T16:45:27.579Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.579Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065127604953\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065127604953&alt=media\",\n + \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127604953\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CNmlnef1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.604Z\",\n \"updated\": \"2020-09-02T16:45:27.604Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.604Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065127545980\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065127545980&alt=media\",\n + \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127545980\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CPzYmef1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.545Z\",\n \"updated\": \"2020-09-02T16:45:27.545Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.545Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065127582143\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065127582143&alt=media\",\n + \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127582143\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n + \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CL/zm+f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.582Z\",\n \"updated\": \"2020-09-02T16:45:27.582Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.582Z\"\n }\n ]\n}\n" + headers: + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '7647' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/nested2/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=nested%2F + response: + body: + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065127602124\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065127602124&alt=media\",\n + \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127602124\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CMyPnef1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.601Z\",\n \"updated\": \"2020-09-02T16:45:27.601Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.601Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065127641363\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065127641363&alt=media\",\n + \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127641363\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CJPCn+f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.641Z\",\n \"updated\": \"2020-09-02T16:45:27.641Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.641Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065127579446\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065127579446&alt=media\",\n + \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127579446\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CLbem+f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.579Z\",\n \"updated\": \"2020-09-02T16:45:27.579Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.579Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065127604953\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065127604953&alt=media\",\n + \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127604953\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CNmlnef1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.604Z\",\n \"updated\": \"2020-09-02T16:45:27.604Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.604Z\"\n }\n ]\n}\n" + headers: + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '3429' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=nested/ +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1 + response: + body: + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065127602124\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065127602124&alt=media\",\n + \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065127602124\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CMyPnef1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.601Z\",\n \"updated\": \"2020-09-02T16:45:27.601Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.601Z\"\n}\n" + headers: + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CMyPnef1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1 +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ + response: + body: + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065127608554\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065127608554&alt=media\",\n + \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127608554\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"COrBnef1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.608Z\",\n \"updated\": \"2020-09-02T16:45:27.608Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.608Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065127652524\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065127652524&alt=media\",\n + \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127652524\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CKyZoOf1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.652Z\",\n \"updated\": \"2020-09-02T16:45:27.652Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.652Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065128623166\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065128623166&alt=media\",\n + \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065128623166\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CL642+f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:28.623Z\",\n \"updated\": \"2020-09-02T16:45:28.623Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:28.623Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065127602124\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065127602124&alt=media\",\n + \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127602124\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CMyPnef1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.601Z\",\n \"updated\": \"2020-09-02T16:45:27.601Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.601Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065127641363\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065127641363&alt=media\",\n + \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127641363\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CJPCn+f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.641Z\",\n \"updated\": \"2020-09-02T16:45:27.641Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.641Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065127579446\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065127579446&alt=media\",\n + \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127579446\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CLbem+f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.579Z\",\n \"updated\": \"2020-09-02T16:45:27.579Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.579Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065127604953\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065127604953&alt=media\",\n + \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127604953\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CNmlnef1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.604Z\",\n \"updated\": \"2020-09-02T16:45:27.604Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.604Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065127545980\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065127545980&alt=media\",\n + \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127545980\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CPzYmef1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.545Z\",\n \"updated\": \"2020-09-02T16:45:27.545Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.545Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065127582143\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065127582143&alt=media\",\n + \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127582143\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n + \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CL/zm+f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.582Z\",\n \"updated\": \"2020-09-02T16:45:27.582Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.582Z\"\n }\n ]\n}\n" + headers: + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '7647' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2 + response: + body: + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065127641363\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065127641363&alt=media\",\n + \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065127641363\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CJPCn+f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.641Z\",\n \"updated\": \"2020-09-02T16:45:27.641Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.641Z\"\n}\n" + headers: + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CJPCn+f1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2 +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ + response: + body: + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065127608554\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065127608554&alt=media\",\n + \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127608554\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"COrBnef1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.608Z\",\n \"updated\": \"2020-09-02T16:45:27.608Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.608Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065127652524\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065127652524&alt=media\",\n + \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127652524\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CKyZoOf1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.652Z\",\n \"updated\": \"2020-09-02T16:45:27.652Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.652Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065128623166\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065128623166&alt=media\",\n + \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065128623166\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CL642+f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:28.623Z\",\n \"updated\": \"2020-09-02T16:45:28.623Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:28.623Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065127602124\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065127602124&alt=media\",\n + \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127602124\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CMyPnef1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.601Z\",\n \"updated\": \"2020-09-02T16:45:27.601Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.601Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065127641363\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065127641363&alt=media\",\n + \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127641363\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CJPCn+f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.641Z\",\n \"updated\": \"2020-09-02T16:45:27.641Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.641Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065127579446\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065127579446&alt=media\",\n + \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127579446\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CLbem+f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.579Z\",\n \"updated\": \"2020-09-02T16:45:27.579Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.579Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065127604953\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065127604953&alt=media\",\n + \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127604953\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CNmlnef1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.604Z\",\n \"updated\": \"2020-09-02T16:45:27.604Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.604Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065127545980\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065127545980&alt=media\",\n + \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127545980\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CPzYmef1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.545Z\",\n \"updated\": \"2020-09-02T16:45:27.545Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.545Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065127582143\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065127582143&alt=media\",\n + \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127582143\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n + \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CL/zm+f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.582Z\",\n \"updated\": \"2020-09-02T16:45:27.582Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.582Z\"\n }\n ]\n}\n" + headers: + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '7647' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ + response: + body: + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065127608554\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065127608554&alt=media\",\n + \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127608554\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"COrBnef1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.608Z\",\n \"updated\": \"2020-09-02T16:45:27.608Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.608Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065127652524\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065127652524&alt=media\",\n + \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127652524\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CKyZoOf1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.652Z\",\n \"updated\": \"2020-09-02T16:45:27.652Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.652Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065128623166\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065128623166&alt=media\",\n + \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065128623166\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CL642+f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:28.623Z\",\n \"updated\": \"2020-09-02T16:45:28.623Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:28.623Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065127602124\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065127602124&alt=media\",\n + \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127602124\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CMyPnef1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.601Z\",\n \"updated\": \"2020-09-02T16:45:27.601Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.601Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065127641363\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065127641363&alt=media\",\n + \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127641363\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CJPCn+f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.641Z\",\n \"updated\": \"2020-09-02T16:45:27.641Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.641Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065127579446\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065127579446&alt=media\",\n + \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127579446\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CLbem+f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.579Z\",\n \"updated\": \"2020-09-02T16:45:27.579Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.579Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065127604953\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065127604953&alt=media\",\n + \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127604953\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CNmlnef1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.604Z\",\n \"updated\": \"2020-09-02T16:45:27.604Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.604Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065127545980\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065127545980&alt=media\",\n + \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127545980\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CPzYmef1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.545Z\",\n \"updated\": \"2020-09-02T16:45:27.545Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.545Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065127582143\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065127582143&alt=media\",\n + \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065127582143\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n + \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CL/zm+f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:27.582Z\",\n \"updated\": \"2020-09-02T16:45:27.582Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:27.582Z\"\n }\n ]\n}\n" + headers: + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '7647' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -905,36 +1920,47 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_eY2vXeIvn_s_AAUtQ2gQlik\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_IS2HwRE64gg_AAHP77G7cZQ\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:25:37 GMT\r\n\r\n\r\n--batch_eY2vXeIvn_s_AAUtQ2gQlik\r\nContent-Type: + Wed, 02 Sep 2020 16:45:30 GMT\r\n\r\n\r\n--batch_IS2HwRE64gg_AAHP77G7cZQ\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:37 GMT\r\n\r\n\r\n--batch_eY2vXeIvn_s_AAUtQ2gQlik\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:30 GMT\r\n\r\n\r\n--batch_IS2HwRE64gg_AAHP77G7cZQ\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:37 GMT\r\n\r\n\r\n--batch_eY2vXeIvn_s_AAUtQ2gQlik\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:30 GMT\r\n\r\n\r\n--batch_IS2HwRE64gg_AAHP77G7cZQ\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:37 GMT\r\n\r\n\r\n--batch_eY2vXeIvn_s_AAUtQ2gQlik\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:30 GMT\r\n\r\n\r\n--batch_IS2HwRE64gg_AAHP77G7cZQ\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:37 GMT\r\n\r\n\r\n--batch_eY2vXeIvn_s_AAUtQ2gQlik\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:30 GMT\r\n\r\n\r\n--batch_IS2HwRE64gg_AAHP77G7cZQ\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:37 GMT\r\n\r\n\r\n--batch_eY2vXeIvn_s_AAUtQ2gQlik\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:30 GMT\r\n\r\n\r\n--batch_IS2HwRE64gg_AAHP77G7cZQ\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:37 GMT\r\n\r\n\r\n--batch_eY2vXeIvn_s_AAUtQ2gQlik\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:30 GMT\r\n\r\n\r\n--batch_IS2HwRE64gg_AAHP77G7cZQ\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:37 GMT\r\n\r\n\r\n--batch_eY2vXeIvn_s_AAUtQ2gQlik\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:30 GMT\r\n\r\n\r\n--batch_IS2HwRE64gg_AAHP77G7cZQ\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:37 GMT\r\n\r\n\r\n--batch_eY2vXeIvn_s_AAUtQ2gQlik--\r\n" - headers: - Cache-Control: private, max-age=0 - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_eY2vXeIvn_s_AAUtQ2gQlik - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:30 GMT\r\n\r\n\r\n--batch_IS2HwRE64gg_AAHP77G7cZQ--\r\n" + headers: + Cache-Control: + - private, max-age=0 + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_IS2HwRE64gg_AAHP77G7cZQ + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_get_put.yaml b/gcsfs/tests/recordings/test_get_put.yaml index bf2a7c6e..64d73b25 100644 --- a/gcsfs/tests/recordings/test_get_put.yaml +++ b/gcsfs/tests/recordings/test_get_put.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAKzcDV8C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP - Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTbbGGvICxlMEKK6irtIzd9LBFmoJnWO5OAvWyck - tSxsKg49AL/As7x+lA+EinX4wf9/OT4eaDG04wAAAA== + H4sIAEDMT18C/4WPsQ7DIBBDfyVibmHP2B+JTnBJUIFD3CGoqvx7Qzt1ymTZsqzntwJrkXkRemJS + 86R67+o2KbaUcfhTknfTLpJ5Nqa1pjeiLSBkz9pSNFBlN+cM1SSsCw5/2a+MxaeVNEbw4bJuA1V3 + zwFkpRIH4Bd4kdeP8oFQsIzcu/8vxwdcFoAW4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:09.541Z\",\n \"updated\": \"2020-07-14T16:26:09.541Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" + headers: + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: '--==0== @@ -168,24 +152,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594743969800973\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065148071006\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594743969800973&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065148071006&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743969800973\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065148071006\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"CI3Gz56UzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:09.800Z\",\n - \ \"updated\": \"2020-07-14T16:26:09.800Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:09.800Z\"\n}\n" + \ \"etag\": \"CN64/vD1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:48.070Z\",\n + \ \"updated\": \"2020-09-02T16:45:48.070Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:48.070Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CI3Gz56UzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CN64/vD1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -196,15 +188,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/file1"} + {"name": "nested/nested2/file2"} --==0== Content-Type: application/octet-stream - hello - + world --==0==--' headers: @@ -214,23 +205,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1594743969893655\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594743969893655&alt=media\",\n - \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743969893655\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CJea1Z6UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:09.893Z\",\n \"updated\": \"2020-07-14T16:26:09.893Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:09.893Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065148168943\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065148168943&alt=media\",\n + \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065148168943\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n \"crc32c\": \"MaqBTg==\",\n + \ \"etag\": \"CO+1hPH1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:48.168Z\",\n + \ \"updated\": \"2020-09-02T16:45:48.168Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:48.168Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CJea1Z6UzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CO+1hPH1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -241,14 +241,20 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/nested2/file1"} + {"name": "2014-01-01.csv"} --==0== Content-Type: application/octet-stream - hello + name,amount,id + + Alice,100,1 + + Bob,200,2 + + Charlie,300,3 --==0==--' @@ -259,24 +265,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594743969897993\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594743969897993&alt=media\",\n - \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743969897993\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n \"crc32c\": \"NT3Yvg==\",\n - \ \"etag\": \"CIm81Z6UzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:09.897Z\",\n - \ \"updated\": \"2020-07-14T16:26:09.897Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:09.897Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065148185972\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065148185972&alt=media\",\n + \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065148185972\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CPS6hfH1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:48.185Z\",\n \"updated\": \"2020-09-02T16:45:48.185Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:48.185Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: CIm81Z6UzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CPS6hfH1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -305,23 +318,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594743969899122\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065148191640\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594743969899122&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065148191640&alt=media\",\n \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743969899122\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065148191640\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CPLE1Z6UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:09.898Z\",\n \"updated\": \"2020-07-14T16:26:09.898Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:09.898Z\"\n}\n" + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CJjnhfH1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:48.191Z\",\n \"updated\": \"2020-09-02T16:45:48.191Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:48.191Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CPLE1Z6UzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CJjnhfH1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -349,23 +370,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594743969904856\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065148193998\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594743969904856&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065148193998&alt=media\",\n \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743969904856\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065148193998\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CNjx1Z6UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:09.904Z\",\n \"updated\": \"2020-07-14T16:26:09.904Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:09.904Z\"\n}\n" + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CM75hfH1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:48.193Z\",\n \"updated\": \"2020-09-02T16:45:48.193Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:48.193Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CNjx1Z6UzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CM75hfH1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -400,24 +429,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594743970010484\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065148203370\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594743970010484&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065148203370&alt=media\",\n \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743970010484\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065148203370\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n - \ \"etag\": \"CPSq3J6UzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:10.010Z\",\n - \ \"updated\": \"2020-07-14T16:26:10.010Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:10.010Z\"\n}\n" + \ \"etag\": \"COrChvH1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:48.203Z\",\n + \ \"updated\": \"2020-09-02T16:45:48.203Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:48.203Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CPSq3J6UzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - COrChvH1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -428,20 +465,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-01.csv"} + {"name": "nested/file1"} --==0== Content-Type: application/octet-stream - name,amount,id - - Alice,100,1 - - Bob,200,2 - - Charlie,300,3 + hello --==0==--' @@ -452,23 +483,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1594743970014572\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594743970014572&alt=media\",\n - \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743970014572\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"COzK3J6UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:10.014Z\",\n \"updated\": \"2020-07-14T16:26:10.014Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:10.014Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065148207557\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065148207557&alt=media\",\n + \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065148207557\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CMXjhvH1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:48.207Z\",\n \"updated\": \"2020-09-02T16:45:48.207Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:48.207Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: COzK3J6UzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CMXjhvH1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -479,14 +518,21 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/nested2/file2"} + {"name": "2014-01-03.csv"} --==0== Content-Type: application/octet-stream - world + name,amount,id + + Dennis,400,4 + + Edith,500,5 + + Frank,600,6 + --==0==--' headers: @@ -496,24 +542,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594743970909357\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594743970909357&alt=media\",\n - \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743970909357\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n \"crc32c\": \"MaqBTg==\",\n - \ \"etag\": \"CK2Zk5+UzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:10.909Z\",\n - \ \"updated\": \"2020-07-14T16:26:10.909Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:10.909Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065148213726\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065148213726&alt=media\",\n + \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065148213726\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CN6Th/H1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:48.213Z\",\n \"updated\": \"2020-09-02T16:45:48.213Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:48.213Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: CK2Zk5+UzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CN6Th/H1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -524,20 +577,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-03.csv"} + {"name": "nested/nested2/file1"} --==0== Content-Type: application/octet-stream - name,amount,id - - Dennis,400,4 - - Edith,500,5 - - Frank,600,6 + hello --==0==--' @@ -548,23 +595,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594743971901587\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594743971901587&alt=media\",\n - \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743971901587\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CJPhz5+UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:11.901Z\",\n \"updated\": \"2020-07-14T16:26:11.901Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:11.901Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065148214994\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065148214994&alt=media\",\n + \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065148214994\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n \"crc32c\": \"NT3Yvg==\",\n + \ \"etag\": \"CNKdh/H1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:48.214Z\",\n + \ \"updated\": \"2020-09-02T16:45:48.214Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:48.214Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CJPhz5+UzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CNKdh/H1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -576,23 +632,30 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594743969800973\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065148071006\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594743969800973&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065148071006&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743969800973\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065148071006\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"CI3Gz56UzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:09.800Z\",\n - \ \"updated\": \"2020-07-14T16:26:09.800Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:09.800Z\"\n}\n" + \ \"etag\": \"CN64/vD1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:48.070Z\",\n + \ \"updated\": \"2020-09-02T16:45:48.070Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:48.070Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CI3Gz56UzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CN64/vD1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -614,18 +677,31 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '133' - Content-Type: application/octet-stream - Etag: CI3Gz56UzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594743969800973' - X-Goog-Hash: crc32c=6wJAgQ==,md5=xK7pmJz/Oj5HGIyfQpYTig== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '133' + Content-Type: + - application/octet-stream + Etag: + - CN64/vD1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065148071006' + X-Goog-Hash: + - crc32c=6wJAgQ==,md5=xK7pmJz/Oj5HGIyfQpYTig== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK @@ -660,23 +736,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1594743972540222\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1599065148584140\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1594743972540222&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1599065148584140&alt=media\",\n \ \"name\": \"temp\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743972540222\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065148584140\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n - \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CL7e9p+UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:12.540Z\",\n \"updated\": \"2020-07-14T16:26:12.540Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:12.540Z\"\n}\n" + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CMzhnfH1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:48.584Z\",\n \"updated\": \"2020-09-02T16:45:48.584Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:48.584Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '720' - Content-Type: application/json; charset=UTF-8 - Etag: CL7e9p+UzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '716' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CMzhnfH1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -685,47 +769,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=temp%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=temp%2F response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=temp/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1594743972540222\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1594743972540222&alt=media\",\n - \ \"name\": \"temp\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743972540222\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n - \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CL7e9p+UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:12.540Z\",\n \"updated\": \"2020-07-14T16:26:12.540Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:12.540Z\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '720' - Content-Type: application/json; charset=UTF-8 - Etag: CL7e9p+UzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=temp/ - request: body: null headers: {} @@ -733,22 +796,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1594743972540222\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1599065148584140\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1594743972540222&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1599065148584140&alt=media\",\n \ \"name\": \"temp\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743972540222\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065148584140\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n - \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CL7e9p+UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:12.540Z\",\n \"updated\": \"2020-07-14T16:26:12.540Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:12.540Z\"\n}\n" + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CMzhnfH1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:48.584Z\",\n \"updated\": \"2020-09-02T16:45:48.584Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:48.584Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '720' - Content-Type: application/json; charset=UTF-8 - Etag: CL7e9p+UzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '716' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CMzhnfH1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -760,22 +830,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1594743972540222\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1599065148584140\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1594743972540222&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1599065148584140&alt=media\",\n \ \"name\": \"temp\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743972540222\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065148584140\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n - \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CL7e9p+UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:12.540Z\",\n \"updated\": \"2020-07-14T16:26:12.540Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:12.540Z\"\n}\n" + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CMzhnfH1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:48.584Z\",\n \"updated\": \"2020-09-02T16:45:48.584Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:48.584Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '720' - Content-Type: application/json; charset=UTF-8 - Etag: CL7e9p+UzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '716' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CMzhnfH1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -797,18 +874,31 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '133' - Content-Type: application/octet-stream - Etag: CL7e9p+UzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594743972540222' - X-Goog-Hash: crc32c=6wJAgQ==,md5=xK7pmJz/Oj5HGIyfQpYTig== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '133' + Content-Type: + - application/octet-stream + Etag: + - CMzhnfH1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065148584140' + X-Goog-Hash: + - crc32c=6wJAgQ==,md5=xK7pmJz/Oj5HGIyfQpYTig== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK @@ -817,175 +907,126 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/\",\n - \ \"test/\"\n ],\n \"items\": [\n {\n \"kind\": \"storage#object\",\n - \ \"id\": \"gcsfs-testing/2014-01-01.csv/1594743970014572\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594743970014572&alt=media\",\n + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065148185972\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065148185972&alt=media\",\n \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743970014572\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065148185972\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"COzK3J6UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:10.014Z\",\n \"updated\": \"2020-07-14T16:26:10.014Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:10.014Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594743969899122\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CPS6hfH1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:48.185Z\",\n \"updated\": \"2020-09-02T16:45:48.185Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:48.185Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065148191640\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594743969899122&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065148191640&alt=media\",\n \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743969899122\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065148191640\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CPLE1Z6UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:09.898Z\",\n \"updated\": \"2020-07-14T16:26:09.898Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:09.898Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594743971901587\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CJjnhfH1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:48.191Z\",\n \"updated\": \"2020-09-02T16:45:48.191Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:48.191Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065148213726\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594743971901587&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065148213726&alt=media\",\n \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743971901587\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065148213726\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CJPhz5+UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:11.901Z\",\n \"updated\": \"2020-07-14T16:26:11.901Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:11.901Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1594743972540222\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1594743972540222&alt=media\",\n - \ \"name\": \"temp\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743972540222\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": - \"6wJAgQ==\",\n \"etag\": \"CL7e9p+UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:12.540Z\",\n \"updated\": \"2020-07-14T16:26:12.540Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:12.540Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '3402' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/nested2/\"\n - \ ],\n \"items\": [\n {\n \"kind\": \"storage#object\",\n \"id\": - \"gcsfs-testing/nested/file1/1594743969893655\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594743969893655&alt=media\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CN6Th/H1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:48.213Z\",\n \"updated\": \"2020-09-02T16:45:48.213Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:48.213Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065148207557\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065148207557&alt=media\",\n \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743969893655\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065148207557\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CJea1Z6UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:09.893Z\",\n \"updated\": \"2020-07-14T16:26:09.893Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:09.893Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594743969904856\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CMXjhvH1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:48.207Z\",\n \"updated\": \"2020-09-02T16:45:48.207Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:48.207Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065148193998\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594743969904856&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065148193998&alt=media\",\n \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743969904856\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065148193998\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CNjx1Z6UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:09.904Z\",\n \"updated\": \"2020-07-14T16:26:09.904Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:09.904Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1754' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2Fnested2%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594743969897993\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CM75hfH1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:48.193Z\",\n \"updated\": \"2020-09-02T16:45:48.193Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:48.193Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065148214994\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594743969897993&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065148214994&alt=media\",\n \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743969897993\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065148214994\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CIm81Z6UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:09.897Z\",\n \"updated\": \"2020-07-14T16:26:09.897Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:09.897Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594743970909357\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CNKdh/H1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:48.214Z\",\n \"updated\": \"2020-09-02T16:45:48.214Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:48.214Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065148168943\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594743970909357&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065148168943&alt=media\",\n \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743970909357\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065148168943\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CK2Zk5+UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:10.909Z\",\n \"updated\": \"2020-07-14T16:26:10.909Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:10.909Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1783' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/nested2/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=test%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594743969800973\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CO+1hPH1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:48.168Z\",\n \"updated\": \"2020-09-02T16:45:48.168Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:48.168Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1599065148584140\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1599065148584140&alt=media\",\n + \ \"name\": \"temp\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065148584140\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": + \"6wJAgQ==\",\n \"etag\": \"CMzhnfH1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:48.584Z\",\n \"updated\": \"2020-09-02T16:45:48.584Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:48.584Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065148071006\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594743969800973&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065148071006&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743969800973\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065148071006\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n - \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CI3Gz56UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:09.800Z\",\n \"updated\": \"2020-07-14T16:26:09.800Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:09.800Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594743970010484\",\n + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CN64/vD1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:48.070Z\",\n \"updated\": \"2020-09-02T16:45:48.070Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:48.070Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065148203370\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594743970010484&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065148203370&alt=media\",\n \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743970010484\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065148203370\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n - \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CPSq3J6UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:10.010Z\",\n \"updated\": \"2020-07-14T16:26:10.010Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:10.010Z\"\n }\n ]\n}\n" + \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"COrChvH1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:48.203Z\",\n \"updated\": \"2020-09-02T16:45:48.203Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:48.203Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1779' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '8440' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=test/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -1177,38 +1218,49 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_orKayIonvDQ_AAb1kT260vw\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_y4XFPcfqu7c_AAkYnS_8qSI\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:26:14 GMT\r\n\r\n\r\n--batch_orKayIonvDQ_AAb1kT260vw\r\nContent-Type: + Wed, 02 Sep 2020 16:45:49 GMT\r\n\r\n\r\n--batch_y4XFPcfqu7c_AAkYnS_8qSI\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:14 GMT\r\n\r\n\r\n--batch_orKayIonvDQ_AAb1kT260vw\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:49 GMT\r\n\r\n\r\n--batch_y4XFPcfqu7c_AAkYnS_8qSI\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:14 GMT\r\n\r\n\r\n--batch_orKayIonvDQ_AAb1kT260vw\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:49 GMT\r\n\r\n\r\n--batch_y4XFPcfqu7c_AAkYnS_8qSI\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:14 GMT\r\n\r\n\r\n--batch_orKayIonvDQ_AAb1kT260vw\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:49 GMT\r\n\r\n\r\n--batch_y4XFPcfqu7c_AAkYnS_8qSI\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:14 GMT\r\n\r\n\r\n--batch_orKayIonvDQ_AAb1kT260vw\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:49 GMT\r\n\r\n\r\n--batch_y4XFPcfqu7c_AAkYnS_8qSI\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:14 GMT\r\n\r\n\r\n--batch_orKayIonvDQ_AAb1kT260vw\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:49 GMT\r\n\r\n\r\n--batch_y4XFPcfqu7c_AAkYnS_8qSI\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:14 GMT\r\n\r\n\r\n--batch_orKayIonvDQ_AAb1kT260vw\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:49 GMT\r\n\r\n\r\n--batch_y4XFPcfqu7c_AAkYnS_8qSI\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:14 GMT\r\n\r\n\r\n--batch_orKayIonvDQ_AAb1kT260vw\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:49 GMT\r\n\r\n\r\n--batch_y4XFPcfqu7c_AAkYnS_8qSI\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:14 GMT\r\n\r\n\r\n--batch_orKayIonvDQ_AAb1kT260vw\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:49 GMT\r\n\r\n\r\n--batch_y4XFPcfqu7c_AAkYnS_8qSI\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:14 GMT\r\n\r\n\r\n--batch_orKayIonvDQ_AAb1kT260vw--\r\n" - headers: - Cache-Control: private, max-age=0 - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_orKayIonvDQ_AAb1kT260vw - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:49 GMT\r\n\r\n\r\n--batch_y4XFPcfqu7c_AAkYnS_8qSI--\r\n" + headers: + Cache-Control: + - private, max-age=0 + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_y4XFPcfqu7c_AAkYnS_8qSI + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK @@ -1231,9 +1283,9 @@ interactions: response: body: string: !!binary | - H4sIAKzcDV8C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP - Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTbrIjV/LxFkoZrU2crBq6vWuUotC5uKQ1/mG2MN - eSGDCUIcgF/gWV4/ygdCxTr84P+/HB99IHep4wAAAA== + H4sIAEDMT18C/4WPMQ7DIBAEv2JRJ9C7zEesE5xtFOAQdwiiyH+PSapUrla7mmL2rcBaZF6EnpjU + PKneu7pNii1lHP2M5N20i2SejWmt6Y1oCwjZs7YUDVTZjQ1U3T0HkJVKvMQrY/FpJY0RfLjET0mq + SVgXHH0IfoUXef0sHwgFy9i9+/9yfABPEENN4wAAAA== headers: Cache-Control: - private @@ -1262,20 +1314,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -1285,34 +1343,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -1320,37 +1365,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:16.133Z\",\n \"updated\": \"2020-07-14T16:26:16.133Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" + headers: + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: '--==0== @@ -1382,24 +1418,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594743976493650\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065150938577\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594743976493650&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065150938577&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743976493650\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065150938577\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"CNKE6KGUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:16.493Z\",\n - \ \"updated\": \"2020-07-14T16:26:16.493Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:16.493Z\"\n}\n" + \ \"etag\": \"CNG7rfL1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:50.938Z\",\n + \ \"updated\": \"2020-09-02T16:45:50.938Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:50.938Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CNKE6KGUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CNG7rfL1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -1410,21 +1454,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-03.csv"} + {"name": "nested/file2"} --==0== Content-Type: application/octet-stream - name,amount,id - - Dennis,400,4 - - Edith,500,5 - - Frank,600,6 - + world --==0==--' headers: @@ -1434,23 +1471,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594743976590927\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594743976590927&alt=media\",\n - \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743976590927\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CM/87aGUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:16.590Z\",\n \"updated\": \"2020-07-14T16:26:16.590Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:16.590Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065151037065\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065151037065&alt=media\",\n + \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065151037065\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CIm9s/L1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:51.036Z\",\n \"updated\": \"2020-09-02T16:45:51.036Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:51.036Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CM/87aGUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CIm9s/L1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -1461,7 +1506,7 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/file1"} + {"name": "nested/nested2/file1"} --==0== @@ -1479,23 +1524,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1594743976591049\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594743976591049&alt=media\",\n - \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743976591049\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CMn97aGUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:16.590Z\",\n \"updated\": \"2020-07-14T16:26:16.590Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:16.590Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065151048173\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065151048173&alt=media\",\n + \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065151048173\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n \"crc32c\": \"NT3Yvg==\",\n + \ \"etag\": \"CO2TtPL1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:51.048Z\",\n + \ \"updated\": \"2020-09-02T16:45:51.048Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:51.048Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CMn97aGUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CO2TtPL1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -1524,23 +1578,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594743976594236\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065151058483\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594743976594236&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065151058483&alt=media\",\n \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743976594236\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065151058483\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CLyW7qGUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:16.594Z\",\n \"updated\": \"2020-07-14T16:26:16.594Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:16.594Z\"\n}\n" + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CLPktPL1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:51.058Z\",\n \"updated\": \"2020-09-02T16:45:51.058Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:51.058Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CLyW7qGUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CLPktPL1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -1551,7 +1613,7 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/file2"} + {"name": "nested/nested2/file2"} --==0== @@ -1568,23 +1630,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594743976599568\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594743976599568&alt=media\",\n - \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743976599568\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CJDA7qGUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:16.599Z\",\n \"updated\": \"2020-07-14T16:26:16.599Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:16.599Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065151072517\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065151072517&alt=media\",\n + \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065151072517\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n \"crc32c\": \"MaqBTg==\",\n + \ \"etag\": \"CIXStfL1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:51.072Z\",\n + \ \"updated\": \"2020-09-02T16:45:51.072Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:51.072Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CJDA7qGUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CIXStfL1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -1595,7 +1666,7 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/nested2/file1"} + {"name": "nested/file1"} --==0== @@ -1613,24 +1684,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594743976602016\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594743976602016&alt=media\",\n - \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743976602016\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n \"crc32c\": \"NT3Yvg==\",\n - \ \"etag\": \"CKDT7qGUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:16.601Z\",\n - \ \"updated\": \"2020-07-14T16:26:16.601Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:16.601Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065151079371\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065151079371&alt=media\",\n + \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065151079371\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CMuHtvL1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:51.079Z\",\n \"updated\": \"2020-09-02T16:45:51.079Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:51.079Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: CKDT7qGUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CMuHtvL1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -1665,24 +1743,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594743976605160\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065151121869\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594743976605160&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065151121869&alt=media\",\n \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743976605160\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065151121869\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n - \ \"etag\": \"COjr7qGUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:16.605Z\",\n - \ \"updated\": \"2020-07-14T16:26:16.605Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:16.605Z\"\n}\n" + \ \"etag\": \"CM3TuPL1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:51.121Z\",\n + \ \"updated\": \"2020-09-02T16:45:51.121Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:51.121Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: COjr7qGUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CM3TuPL1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -1717,23 +1803,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1594743976706969\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065151149871\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594743976706969&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065151149871&alt=media\",\n \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743976706969\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065151149871\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CJmH9aGUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:16.706Z\",\n \"updated\": \"2020-07-14T16:26:16.706Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:16.706Z\"\n}\n" + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CK+uuvL1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:51.149Z\",\n \"updated\": \"2020-09-02T16:45:51.149Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:51.149Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CJmH9aGUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CK+uuvL1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -1744,14 +1838,21 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/nested2/file2"} + {"name": "2014-01-03.csv"} --==0== Content-Type: application/octet-stream - world + name,amount,id + + Dennis,400,4 + + Edith,500,5 + + Frank,600,6 + --==0==--' headers: @@ -1761,24 +1862,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594743977595796\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594743977595796&alt=media\",\n - \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743977595796\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n \"crc32c\": \"MaqBTg==\",\n - \ \"etag\": \"CJSnq6KUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:17.595Z\",\n - \ \"updated\": \"2020-07-14T16:26:17.595Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:17.595Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065151283385\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065151283385&alt=media\",\n + \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065151283385\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CLnBwvL1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:51.283Z\",\n \"updated\": \"2020-09-02T16:45:51.283Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:51.283Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: CJSnq6KUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CLnBwvL1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -1790,23 +1898,30 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594743976493650\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065150938577\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594743976493650&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065150938577&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743976493650\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065150938577\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"CNKE6KGUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:16.493Z\",\n - \ \"updated\": \"2020-07-14T16:26:16.493Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:16.493Z\"\n}\n" + \ \"etag\": \"CNG7rfL1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:50.938Z\",\n + \ \"updated\": \"2020-09-02T16:45:50.938Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:50.938Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CNKE6KGUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CNG7rfL1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -1828,18 +1943,31 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '133' - Content-Type: application/octet-stream - Etag: CNKE6KGUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594743976493650' - X-Goog-Hash: crc32c=6wJAgQ==,md5=xK7pmJz/Oj5HGIyfQpYTig== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '133' + Content-Type: + - application/octet-stream + Etag: + - CNG7rfL1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065150938577' + X-Goog-Hash: + - crc32c=6wJAgQ==,md5=xK7pmJz/Oj5HGIyfQpYTig== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK @@ -1874,23 +2002,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1594743978190444\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1599065151624061\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1594743978190444&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1599065151624061&alt=media\",\n \ \"name\": \"temp\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743978190444\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065151624061\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n - \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"COzMz6KUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:18.190Z\",\n \"updated\": \"2020-07-14T16:26:18.190Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:18.190Z\"\n}\n" + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CP2m1/L1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:51.623Z\",\n \"updated\": \"2020-09-02T16:45:51.623Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:51.623Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '720' - Content-Type: application/json; charset=UTF-8 - Etag: COzMz6KUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '716' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CP2m1/L1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -1899,47 +2035,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=temp%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=temp%2F response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=temp/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1594743978190444\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1594743978190444&alt=media\",\n - \ \"name\": \"temp\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743978190444\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n - \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"COzMz6KUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:18.190Z\",\n \"updated\": \"2020-07-14T16:26:18.190Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:18.190Z\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '720' - Content-Type: application/json; charset=UTF-8 - Etag: COzMz6KUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=temp/ - request: body: null headers: {} @@ -1947,22 +2062,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1594743978190444\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1599065151624061\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1594743978190444&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1599065151624061&alt=media\",\n \ \"name\": \"temp\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743978190444\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065151624061\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n - \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"COzMz6KUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:18.190Z\",\n \"updated\": \"2020-07-14T16:26:18.190Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:18.190Z\"\n}\n" + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CP2m1/L1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:51.623Z\",\n \"updated\": \"2020-09-02T16:45:51.623Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:51.623Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '720' - Content-Type: application/json; charset=UTF-8 - Etag: COzMz6KUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '716' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CP2m1/L1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -1974,22 +2096,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1594743978190444\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1599065151624061\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1594743978190444&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1599065151624061&alt=media\",\n \ \"name\": \"temp\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743978190444\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065151624061\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n - \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"COzMz6KUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:18.190Z\",\n \"updated\": \"2020-07-14T16:26:18.190Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:18.190Z\"\n}\n" + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CP2m1/L1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:51.623Z\",\n \"updated\": \"2020-09-02T16:45:51.623Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:51.623Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '720' - Content-Type: application/json; charset=UTF-8 - Etag: COzMz6KUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '716' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CP2m1/L1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -2011,18 +2140,31 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '133' - Content-Type: application/octet-stream - Etag: COzMz6KUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594743978190444' - X-Goog-Hash: crc32c=6wJAgQ==,md5=xK7pmJz/Oj5HGIyfQpYTig== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '133' + Content-Type: + - application/octet-stream + Etag: + - CP2m1/L1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065151624061' + X-Goog-Hash: + - crc32c=6wJAgQ==,md5=xK7pmJz/Oj5HGIyfQpYTig== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK @@ -2031,175 +2173,126 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/\",\n - \ \"test/\"\n ],\n \"items\": [\n {\n \"kind\": \"storage#object\",\n - \ \"id\": \"gcsfs-testing/2014-01-01.csv/1594743976706969\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594743976706969&alt=media\",\n + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065151149871\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065151149871&alt=media\",\n \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743976706969\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065151149871\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CJmH9aGUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:16.706Z\",\n \"updated\": \"2020-07-14T16:26:16.706Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:16.706Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594743976594236\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CK+uuvL1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:51.149Z\",\n \"updated\": \"2020-09-02T16:45:51.149Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:51.149Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065151058483\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594743976594236&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065151058483&alt=media\",\n \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743976594236\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065151058483\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CLyW7qGUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:16.594Z\",\n \"updated\": \"2020-07-14T16:26:16.594Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:16.594Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594743976590927\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CLPktPL1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:51.058Z\",\n \"updated\": \"2020-09-02T16:45:51.058Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:51.058Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065151283385\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594743976590927&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065151283385&alt=media\",\n \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743976590927\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065151283385\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CM/87aGUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:16.590Z\",\n \"updated\": \"2020-07-14T16:26:16.590Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:16.590Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1594743978190444\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1594743978190444&alt=media\",\n - \ \"name\": \"temp\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743978190444\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": - \"6wJAgQ==\",\n \"etag\": \"COzMz6KUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:18.190Z\",\n \"updated\": \"2020-07-14T16:26:18.190Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:18.190Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '3402' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/nested2/\"\n - \ ],\n \"items\": [\n {\n \"kind\": \"storage#object\",\n \"id\": - \"gcsfs-testing/nested/file1/1594743976591049\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594743976591049&alt=media\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CLnBwvL1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:51.283Z\",\n \"updated\": \"2020-09-02T16:45:51.283Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:51.283Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065151079371\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065151079371&alt=media\",\n \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743976591049\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065151079371\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CMn97aGUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:16.590Z\",\n \"updated\": \"2020-07-14T16:26:16.590Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:16.590Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594743976599568\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CMuHtvL1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:51.079Z\",\n \"updated\": \"2020-09-02T16:45:51.079Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:51.079Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065151037065\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594743976599568&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065151037065&alt=media\",\n \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743976599568\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065151037065\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CJDA7qGUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:16.599Z\",\n \"updated\": \"2020-07-14T16:26:16.599Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:16.599Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1754' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2Fnested2%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594743976602016\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CIm9s/L1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:51.036Z\",\n \"updated\": \"2020-09-02T16:45:51.036Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:51.036Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065151048173\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594743976602016&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065151048173&alt=media\",\n \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743976602016\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065151048173\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CKDT7qGUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:16.601Z\",\n \"updated\": \"2020-07-14T16:26:16.601Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:16.601Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594743977595796\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CO2TtPL1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:51.048Z\",\n \"updated\": \"2020-09-02T16:45:51.048Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:51.048Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065151072517\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594743977595796&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065151072517&alt=media\",\n \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743977595796\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065151072517\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CJSnq6KUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:17.595Z\",\n \"updated\": \"2020-07-14T16:26:17.595Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:17.595Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1783' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/nested2/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=test%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594743976493650\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CIXStfL1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:51.072Z\",\n \"updated\": \"2020-09-02T16:45:51.072Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:51.072Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1599065151624061\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1599065151624061&alt=media\",\n + \ \"name\": \"temp\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065151624061\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": + \"6wJAgQ==\",\n \"etag\": \"CP2m1/L1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:51.623Z\",\n \"updated\": \"2020-09-02T16:45:51.623Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:51.623Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065150938577\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594743976493650&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065150938577&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743976493650\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065150938577\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n - \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CNKE6KGUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:16.493Z\",\n \"updated\": \"2020-07-14T16:26:16.493Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:16.493Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594743976605160\",\n + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CNG7rfL1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:50.938Z\",\n \"updated\": \"2020-09-02T16:45:50.938Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:50.938Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065151121869\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594743976605160&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065151121869&alt=media\",\n \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743976605160\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065151121869\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n - \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"COjr7qGUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:16.605Z\",\n \"updated\": \"2020-07-14T16:26:16.605Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:16.605Z\"\n }\n ]\n}\n" + \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CM3TuPL1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:51.121Z\",\n \"updated\": \"2020-09-02T16:45:51.121Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:51.121Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1779' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '8440' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=test/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -2391,38 +2484,49 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_z9-JIcjG1KY_AAVUnVppUyI\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_ZqbRhUFnKuw_AAGQdHe7b8k\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:26:20 GMT\r\n\r\n\r\n--batch_z9-JIcjG1KY_AAVUnVppUyI\r\nContent-Type: + Wed, 02 Sep 2020 16:45:52 GMT\r\n\r\n\r\n--batch_ZqbRhUFnKuw_AAGQdHe7b8k\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:20 GMT\r\n\r\n\r\n--batch_z9-JIcjG1KY_AAVUnVppUyI\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:52 GMT\r\n\r\n\r\n--batch_ZqbRhUFnKuw_AAGQdHe7b8k\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:20 GMT\r\n\r\n\r\n--batch_z9-JIcjG1KY_AAVUnVppUyI\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:52 GMT\r\n\r\n\r\n--batch_ZqbRhUFnKuw_AAGQdHe7b8k\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:20 GMT\r\n\r\n\r\n--batch_z9-JIcjG1KY_AAVUnVppUyI\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:52 GMT\r\n\r\n\r\n--batch_ZqbRhUFnKuw_AAGQdHe7b8k\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:20 GMT\r\n\r\n\r\n--batch_z9-JIcjG1KY_AAVUnVppUyI\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:52 GMT\r\n\r\n\r\n--batch_ZqbRhUFnKuw_AAGQdHe7b8k\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:20 GMT\r\n\r\n\r\n--batch_z9-JIcjG1KY_AAVUnVppUyI\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:52 GMT\r\n\r\n\r\n--batch_ZqbRhUFnKuw_AAGQdHe7b8k\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:20 GMT\r\n\r\n\r\n--batch_z9-JIcjG1KY_AAVUnVppUyI\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:52 GMT\r\n\r\n\r\n--batch_ZqbRhUFnKuw_AAGQdHe7b8k\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:20 GMT\r\n\r\n\r\n--batch_z9-JIcjG1KY_AAVUnVppUyI\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:52 GMT\r\n\r\n\r\n--batch_ZqbRhUFnKuw_AAGQdHe7b8k\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:20 GMT\r\n\r\n\r\n--batch_z9-JIcjG1KY_AAVUnVppUyI\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:52 GMT\r\n\r\n\r\n--batch_ZqbRhUFnKuw_AAGQdHe7b8k\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:20 GMT\r\n\r\n\r\n--batch_z9-JIcjG1KY_AAVUnVppUyI--\r\n" - headers: - Cache-Control: private, max-age=0 - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_z9-JIcjG1KY_AAVUnVppUyI - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:52 GMT\r\n\r\n\r\n--batch_ZqbRhUFnKuw_AAGQdHe7b8k--\r\n" + headers: + Cache-Control: + - private, max-age=0 + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_ZqbRhUFnKuw_AAGQdHe7b8k + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK @@ -2445,9 +2549,9 @@ interactions: response: body: string: !!binary | - H4sIAKzcDV8C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP - Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTZ79qllYVNxaHWVb4w15IUMJghRnSs5+MuWi9T8 - vUSQhWoagF/gWV4/ygdCxTr84P+/HB+fT0zw4wAAAA== + H4sIAEDMT18C/4WPMQ7DIBAEv2JRJ9C7zEesE5xtFOAQdwiiyH+PSapUrla7mmL2rcBaZF6EnpjU + PKneu7pNii1lHP2M5N20i2SejWmt6Y1oCwjZs7YUDVTZTWUsPq2kMYIPl7gNVN09B5CVSrzET0mq + SVgXHH0IfoUXef0sHwgFy9i9+/9yfAAU05XZ4wAAAA== headers: Cache-Control: - private @@ -2476,20 +2580,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -2499,34 +2609,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -2534,37 +2631,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:21.863Z\",\n \"updated\": \"2020-07-14T16:26:21.863Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" + headers: + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: '--==0== @@ -2596,24 +2684,92 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594743982100484\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065153804192\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594743982100484&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065153804192&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743982100484\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065153804192\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"CISgvqSUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:22.100Z\",\n - \ \"updated\": \"2020-07-14T16:26:22.100Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:22.100Z\"\n}\n" + \ \"etag\": \"CKCv3PP1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:53.804Z\",\n + \ \"updated\": \"2020-09-02T16:45:53.804Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:53.804Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '788' + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CKCv3PP1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart +- request: + body: '--==0== + Content-Type: application/json; charset=UTF-8 - Etag: CISgvqSUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + + + {"name": "test/accounts.2.json"} + + --==0== + + Content-Type: application/octet-stream + + + {"amount": 500, "name": "Alice"} + + {"amount": 600, "name": "Bob"} + + {"amount": 700, "name": "Charlie"} + + {"amount": 800, "name": "Dennis"} + + + --==0==--' + headers: + Content-Type: + - multipart/related; boundary="==0==" + method: POST + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart + response: + body: + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065153912286\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065153912286&alt=media\",\n + \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065153912286\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n + \ \"etag\": \"CN774vP1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:53.912Z\",\n + \ \"updated\": \"2020-09-02T16:45:53.912Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:53.912Z\"\n}\n" + headers: + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CN774vP1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -2641,24 +2797,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594743982200770\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065153913208\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594743982200770&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065153913208&alt=media\",\n \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743982200770\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065153913208\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n \"crc32c\": \"MaqBTg==\",\n - \ \"etag\": \"CMKvxKSUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:22.200Z\",\n - \ \"updated\": \"2020-07-14T16:26:22.200Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:22.200Z\"\n}\n" + \ \"etag\": \"CPiC4/P1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:53.913Z\",\n + \ \"updated\": \"2020-09-02T16:45:53.913Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:53.913Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: CMKvxKSUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CPiC4/P1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -2669,20 +2833,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "test/accounts.2.json"} + {"name": "2014-01-02.csv"} --==0== Content-Type: application/octet-stream - {"amount": 500, "name": "Alice"} - - {"amount": 600, "name": "Bob"} - - {"amount": 700, "name": "Charlie"} - - {"amount": 800, "name": "Dennis"} + name,amount,id --==0==--' @@ -2693,24 +2851,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594743982202788\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594743982202788&alt=media\",\n - \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743982202788\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n - \ \"etag\": \"CKS/xKSUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:22.202Z\",\n - \ \"updated\": \"2020-07-14T16:26:22.202Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:22.202Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065153912173\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065153912173&alt=media\",\n + \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065153912173\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CO364vP1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:53.912Z\",\n \"updated\": \"2020-09-02T16:45:53.912Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:53.912Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CKS/xKSUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CO364vP1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -2721,7 +2886,7 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-03.csv"} + {"name": "2014-01-01.csv"} --==0== @@ -2730,11 +2895,11 @@ interactions: name,amount,id - Dennis,400,4 + Alice,100,1 - Edith,500,5 + Bob,200,2 - Frank,600,6 + Charlie,300,3 --==0==--' @@ -2745,23 +2910,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594743982298308\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594743982298308&alt=media\",\n - \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743982298308\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CMSpyqSUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:22.298Z\",\n \"updated\": \"2020-07-14T16:26:22.298Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:22.298Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065153926439\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065153926439&alt=media\",\n + \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065153926439\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CKfq4/P1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:53.926Z\",\n \"updated\": \"2020-09-02T16:45:53.926Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:53.926Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CMSpyqSUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CKfq4/P1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -2790,24 +2963,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594743982302055\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065153930777\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594743982302055&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065153930777&alt=media\",\n \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743982302055\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065153930777\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n \"crc32c\": \"NT3Yvg==\",\n - \ \"etag\": \"COfGyqSUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:22.301Z\",\n - \ \"updated\": \"2020-07-14T16:26:22.301Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:22.301Z\"\n}\n" + \ \"etag\": \"CJmM5PP1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:53.930Z\",\n + \ \"updated\": \"2020-09-02T16:45:53.930Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:53.930Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: COfGyqSUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CJmM5PP1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -2818,7 +2999,7 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-02.csv"} + {"name": "2014-01-03.csv"} --==0== @@ -2827,6 +3008,12 @@ interactions: name,amount,id + Dennis,400,4 + + Edith,500,5 + + Frank,600,6 + --==0==--' headers: @@ -2836,23 +3023,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594743982301876\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594743982301876&alt=media\",\n - \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743982301876\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CLTFyqSUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:22.301Z\",\n \"updated\": \"2020-07-14T16:26:22.301Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:22.301Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065154164745\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065154164745&alt=media\",\n + \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065154164745\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CImw8vP1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:54.164Z\",\n \"updated\": \"2020-09-02T16:45:54.164Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:54.164Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CLTFyqSUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CImw8vP1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -2880,74 +3075,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594743982303849\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065154932286\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594743982303849&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065154932286&alt=media\",\n \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743982303849\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065154932286\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"COnUyqSUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:22.303Z\",\n \"updated\": \"2020-07-14T16:26:22.303Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:22.303Z\"\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: COnUyqSUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart -- request: - body: '--==0== - - Content-Type: application/json; charset=UTF-8 - - - {"name": "2014-01-01.csv"} - - --==0== - - Content-Type: application/octet-stream - - - name,amount,id - - Alice,100,1 - - Bob,200,2 - - Charlie,300,3 - - - --==0==--' + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CL6cofT1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:54.932Z\",\n \"updated\": \"2020-09-02T16:45:54.932Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:54.932Z\"\n}\n" headers: + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' Content-Type: - - multipart/related; boundary="==0==" - method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1594743982316429\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594743982316429&alt=media\",\n - \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743982316429\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CI23y6SUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:22.316Z\",\n \"updated\": \"2020-07-14T16:26:22.316Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:22.316Z\"\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CI23y6SUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + - application/json; charset=UTF-8 + Etag: + - CL6cofT1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -2976,23 +3128,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1594743983211534\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065154931063\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594743983211534&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065154931063&alt=media\",\n \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743983211534\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065154931063\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CI6IgqWUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:23.211Z\",\n \"updated\": \"2020-07-14T16:26:23.211Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:23.211Z\"\n}\n" + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CPeSofT1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:54.930Z\",\n \"updated\": \"2020-09-02T16:45:54.930Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:54.930Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CI6IgqWUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CPeSofT1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -3004,23 +3164,30 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594743982100484\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065153804192\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594743982100484&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065153804192&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743982100484\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065153804192\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"CISgvqSUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:22.100Z\",\n - \ \"updated\": \"2020-07-14T16:26:22.100Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:22.100Z\"\n}\n" + \ \"etag\": \"CKCv3PP1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:53.804Z\",\n + \ \"updated\": \"2020-09-02T16:45:53.804Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:53.804Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CISgvqSUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CKCv3PP1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -3042,18 +3209,31 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '133' - Content-Type: application/octet-stream - Etag: CISgvqSUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594743982100484' - X-Goog-Hash: crc32c=6wJAgQ==,md5=xK7pmJz/Oj5HGIyfQpYTig== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '133' + Content-Type: + - application/octet-stream + Etag: + - CKCv3PP1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065153804192' + X-Goog-Hash: + - crc32c=6wJAgQ==,md5=xK7pmJz/Oj5HGIyfQpYTig== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK @@ -3088,23 +3268,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1594743983617620\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1599065155290778\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1594743983617620&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1599065155290778&alt=media\",\n \ \"name\": \"temp\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743983617620\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065155290778\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n - \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CNTsmqWUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:23.617Z\",\n \"updated\": \"2020-07-14T16:26:23.617Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:23.617Z\"\n}\n" + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CJqNt/T1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:55.290Z\",\n \"updated\": \"2020-09-02T16:45:55.290Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:55.290Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '720' - Content-Type: application/json; charset=UTF-8 - Etag: CNTsmqWUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '716' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CJqNt/T1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -3113,47 +3301,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=temp%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=temp%2F response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=temp/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1594743983617620\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1594743983617620&alt=media\",\n - \ \"name\": \"temp\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743983617620\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n - \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CNTsmqWUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:23.617Z\",\n \"updated\": \"2020-07-14T16:26:23.617Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:23.617Z\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '720' - Content-Type: application/json; charset=UTF-8 - Etag: CNTsmqWUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=temp/ - request: body: null headers: {} @@ -3161,22 +3328,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1594743983617620\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1599065155290778\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1594743983617620&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1599065155290778&alt=media\",\n \ \"name\": \"temp\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743983617620\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065155290778\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n - \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CNTsmqWUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:23.617Z\",\n \"updated\": \"2020-07-14T16:26:23.617Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:23.617Z\"\n}\n" + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CJqNt/T1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:55.290Z\",\n \"updated\": \"2020-09-02T16:45:55.290Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:55.290Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '720' - Content-Type: application/json; charset=UTF-8 - Etag: CNTsmqWUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '716' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CJqNt/T1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -3188,22 +3362,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1594743983617620\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1599065155290778\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1594743983617620&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1599065155290778&alt=media\",\n \ \"name\": \"temp\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743983617620\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065155290778\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n - \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CNTsmqWUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:23.617Z\",\n \"updated\": \"2020-07-14T16:26:23.617Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:23.617Z\"\n}\n" + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CJqNt/T1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:55.290Z\",\n \"updated\": \"2020-09-02T16:45:55.290Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:55.290Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '720' - Content-Type: application/json; charset=UTF-8 - Etag: CNTsmqWUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '716' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CJqNt/T1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -3225,18 +3406,31 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '133' - Content-Type: application/octet-stream - Etag: CNTsmqWUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594743983617620' - X-Goog-Hash: crc32c=6wJAgQ==,md5=xK7pmJz/Oj5HGIyfQpYTig== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '133' + Content-Type: + - application/octet-stream + Etag: + - CJqNt/T1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065155290778' + X-Goog-Hash: + - crc32c=6wJAgQ==,md5=xK7pmJz/Oj5HGIyfQpYTig== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK @@ -3245,175 +3439,126 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/\",\n - \ \"test/\"\n ],\n \"items\": [\n {\n \"kind\": \"storage#object\",\n - \ \"id\": \"gcsfs-testing/2014-01-01.csv/1594743982316429\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594743982316429&alt=media\",\n + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065153926439\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065153926439&alt=media\",\n \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743982316429\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065153926439\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CI23y6SUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:22.316Z\",\n \"updated\": \"2020-07-14T16:26:22.316Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:22.316Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594743982301876\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CKfq4/P1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:53.926Z\",\n \"updated\": \"2020-09-02T16:45:53.926Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:53.926Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065153912173\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594743982301876&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065153912173&alt=media\",\n \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743982301876\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065153912173\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CLTFyqSUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:22.301Z\",\n \"updated\": \"2020-07-14T16:26:22.301Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:22.301Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594743982298308\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CO364vP1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:53.912Z\",\n \"updated\": \"2020-09-02T16:45:53.912Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:53.912Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065154164745\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594743982298308&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065154164745&alt=media\",\n \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743982298308\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065154164745\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CMSpyqSUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:22.298Z\",\n \"updated\": \"2020-07-14T16:26:22.298Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:22.298Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1594743983617620\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1594743983617620&alt=media\",\n - \ \"name\": \"temp\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743983617620\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": - \"6wJAgQ==\",\n \"etag\": \"CNTsmqWUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:23.617Z\",\n \"updated\": \"2020-07-14T16:26:23.617Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:23.617Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '3402' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/nested2/\"\n - \ ],\n \"items\": [\n {\n \"kind\": \"storage#object\",\n \"id\": - \"gcsfs-testing/nested/file1/1594743983211534\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594743983211534&alt=media\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CImw8vP1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:54.164Z\",\n \"updated\": \"2020-09-02T16:45:54.164Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:54.164Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065154931063\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065154931063&alt=media\",\n \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743983211534\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065154931063\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CI6IgqWUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:23.211Z\",\n \"updated\": \"2020-07-14T16:26:23.211Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:23.211Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594743982303849\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CPeSofT1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:54.930Z\",\n \"updated\": \"2020-09-02T16:45:54.930Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:54.930Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065154932286\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594743982303849&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065154932286&alt=media\",\n \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743982303849\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065154932286\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"COnUyqSUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:22.303Z\",\n \"updated\": \"2020-07-14T16:26:22.303Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:22.303Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1754' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2Fnested2%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594743982302055\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CL6cofT1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:54.932Z\",\n \"updated\": \"2020-09-02T16:45:54.932Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:54.932Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065153930777\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594743982302055&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065153930777&alt=media\",\n \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743982302055\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065153930777\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"COfGyqSUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:22.301Z\",\n \"updated\": \"2020-07-14T16:26:22.301Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:22.301Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594743982200770\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CJmM5PP1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:53.930Z\",\n \"updated\": \"2020-09-02T16:45:53.930Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:53.930Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065153913208\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594743982200770&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065153913208&alt=media\",\n \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743982200770\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065153913208\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CMKvxKSUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:22.200Z\",\n \"updated\": \"2020-07-14T16:26:22.200Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:22.200Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1783' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/nested2/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=test%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594743982100484\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CPiC4/P1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:53.913Z\",\n \"updated\": \"2020-09-02T16:45:53.913Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:53.913Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1599065155290778\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1599065155290778&alt=media\",\n + \ \"name\": \"temp\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065155290778\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": + \"6wJAgQ==\",\n \"etag\": \"CJqNt/T1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:55.290Z\",\n \"updated\": \"2020-09-02T16:45:55.290Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:55.290Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065153804192\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594743982100484&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065153804192&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743982100484\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065153804192\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n - \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CISgvqSUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:22.100Z\",\n \"updated\": \"2020-07-14T16:26:22.100Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:22.100Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594743982202788\",\n + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CKCv3PP1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:53.804Z\",\n \"updated\": \"2020-09-02T16:45:53.804Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:53.804Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065153912286\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594743982202788&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065153912286&alt=media\",\n \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743982202788\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065153912286\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n - \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CKS/xKSUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:22.202Z\",\n \"updated\": \"2020-07-14T16:26:22.202Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:22.202Z\"\n }\n ]\n}\n" + \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CN774vP1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:53.912Z\",\n \"updated\": \"2020-09-02T16:45:53.912Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:53.912Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1779' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '8440' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=test/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -3605,38 +3750,49 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_rfmf1OAq0c8_AAd3SnwkR_o\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_UFZzJr-fiPc_AAwPrqa5B3s\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:26:25 GMT\r\n\r\n\r\n--batch_rfmf1OAq0c8_AAd3SnwkR_o\r\nContent-Type: + Wed, 02 Sep 2020 16:45:56 GMT\r\n\r\n\r\n--batch_UFZzJr-fiPc_AAwPrqa5B3s\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:25 GMT\r\n\r\n\r\n--batch_rfmf1OAq0c8_AAd3SnwkR_o\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:56 GMT\r\n\r\n\r\n--batch_UFZzJr-fiPc_AAwPrqa5B3s\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:25 GMT\r\n\r\n\r\n--batch_rfmf1OAq0c8_AAd3SnwkR_o\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:56 GMT\r\n\r\n\r\n--batch_UFZzJr-fiPc_AAwPrqa5B3s\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:25 GMT\r\n\r\n\r\n--batch_rfmf1OAq0c8_AAd3SnwkR_o\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:56 GMT\r\n\r\n\r\n--batch_UFZzJr-fiPc_AAwPrqa5B3s\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:25 GMT\r\n\r\n\r\n--batch_rfmf1OAq0c8_AAd3SnwkR_o\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:56 GMT\r\n\r\n\r\n--batch_UFZzJr-fiPc_AAwPrqa5B3s\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:25 GMT\r\n\r\n\r\n--batch_rfmf1OAq0c8_AAd3SnwkR_o\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:56 GMT\r\n\r\n\r\n--batch_UFZzJr-fiPc_AAwPrqa5B3s\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:25 GMT\r\n\r\n\r\n--batch_rfmf1OAq0c8_AAd3SnwkR_o\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:56 GMT\r\n\r\n\r\n--batch_UFZzJr-fiPc_AAwPrqa5B3s\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:25 GMT\r\n\r\n\r\n--batch_rfmf1OAq0c8_AAd3SnwkR_o\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:56 GMT\r\n\r\n\r\n--batch_UFZzJr-fiPc_AAwPrqa5B3s\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:25 GMT\r\n\r\n\r\n--batch_rfmf1OAq0c8_AAd3SnwkR_o\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:56 GMT\r\n\r\n\r\n--batch_UFZzJr-fiPc_AAwPrqa5B3s\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:25 GMT\r\n\r\n\r\n--batch_rfmf1OAq0c8_AAd3SnwkR_o--\r\n" - headers: - Cache-Control: private, max-age=0 - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_rfmf1OAq0c8_AAd3SnwkR_o - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:56 GMT\r\n\r\n\r\n--batch_UFZzJr-fiPc_AAwPrqa5B3s--\r\n" + headers: + Cache-Control: + - private, max-age=0 + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_UFZzJr-fiPc_AAwPrqa5B3s + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_get_put_recursive.yaml b/gcsfs/tests/recordings/test_get_put_recursive.yaml index bd176199..d14fbcaa 100644 --- a/gcsfs/tests/recordings/test_get_put_recursive.yaml +++ b/gcsfs/tests/recordings/test_get_put_recursive.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAL7cDV8C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULnc10s6+NTiHzLPQE7Oe - lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmy2MdaQFzKYIER1hZ9z1LKwqTjyJe8iNX8vEWSh - mtQplYMfgl/hWV4/ywdCxTr64P+/HB9GPeS/4wAAAA== + H4sIAErMT18C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP + Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTbbGGvICxlMEKK6irtIzd9LBFmoJnWO5OAvWyck + tSxsKg49AL/As7x+lA+EinX4wf9/OT4eaDG04wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:27.230Z\",\n \"updated\": \"2020-07-14T16:26:27.230Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" + headers: + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: '--==0== @@ -168,24 +152,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594743987495668\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065157382060\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594743987495668&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065157382060&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743987495668\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065157382060\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"CPTFh6eUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:27.495Z\",\n - \ \"updated\": \"2020-07-14T16:26:27.495Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:27.495Z\"\n}\n" + \ \"etag\": \"CKzftvX1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:57.381Z\",\n + \ \"updated\": \"2020-09-02T16:45:57.381Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:57.381Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CPTFh6eUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CKzftvX1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -196,15 +188,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/nested2/file1"} + {"name": "nested/file2"} --==0== Content-Type: application/octet-stream - hello - + world --==0==--' headers: @@ -214,24 +205,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594743988393166\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594743988393166&alt=media\",\n - \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743988393166\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n \"crc32c\": \"NT3Yvg==\",\n - \ \"etag\": \"CM6pvqeUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:28.393Z\",\n - \ \"updated\": \"2020-07-14T16:26:28.393Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:28.393Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065157490262\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065157490262&alt=media\",\n + \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065157490262\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CNasvfX1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:57.490Z\",\n \"updated\": \"2020-09-02T16:45:57.490Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:57.490Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: CM6pvqeUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CNasvfX1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -242,14 +240,21 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/file2"} + {"name": "test/accounts.2.json"} --==0== Content-Type: application/octet-stream - world + {"amount": 500, "name": "Alice"} + + {"amount": 600, "name": "Bob"} + + {"amount": 700, "name": "Charlie"} + + {"amount": 800, "name": "Dennis"} + --==0==--' headers: @@ -259,23 +264,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594743988407641\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594743988407641&alt=media\",\n - \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743988407641\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CNmav6eUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:28.407Z\",\n \"updated\": \"2020-07-14T16:26:28.407Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:28.407Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065157491326\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065157491326&alt=media\",\n + \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065157491326\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n + \ \"etag\": \"CP60vfX1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:57.491Z\",\n + \ \"updated\": \"2020-09-02T16:45:57.491Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:57.491Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CNmav6eUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CP60vfX1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -286,14 +300,20 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/file1"} + {"name": "2014-01-01.csv"} --==0== Content-Type: application/octet-stream - hello + name,amount,id + + Alice,100,1 + + Bob,200,2 + + Charlie,300,3 --==0==--' @@ -304,23 +324,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1594743988487414\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594743988487414&alt=media\",\n - \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743988487414\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CPaJxKeUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:28.487Z\",\n \"updated\": \"2020-07-14T16:26:28.487Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:28.487Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065157501916\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065157501916&alt=media\",\n + \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065157501916\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CNyHvvX1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:57.501Z\",\n \"updated\": \"2020-09-02T16:45:57.501Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:57.501Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CPaJxKeUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CNyHvvX1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -331,20 +359,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-03.csv"} + {"name": "nested/nested2/file1"} --==0== Content-Type: application/octet-stream - name,amount,id - - Dennis,400,4 - - Edith,500,5 - - Frank,600,6 + hello --==0==--' @@ -355,23 +377,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594743988490058\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594743988490058&alt=media\",\n - \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743988490058\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CMqexKeUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:28.489Z\",\n \"updated\": \"2020-07-14T16:26:28.489Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:28.489Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065157590650\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065157590650&alt=media\",\n + \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065157590650\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n \"crc32c\": \"NT3Yvg==\",\n + \ \"etag\": \"CPq8w/X1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:57.590Z\",\n + \ \"updated\": \"2020-09-02T16:45:57.590Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:57.590Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CMqexKeUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CPq8w/X1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -382,14 +413,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-02.csv"} + {"name": "nested/file1"} --==0== Content-Type: application/octet-stream - name,amount,id + hello --==0==--' @@ -400,23 +431,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594743988505926\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594743988505926&alt=media\",\n - \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743988505926\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CMaaxaeUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:28.505Z\",\n \"updated\": \"2020-07-14T16:26:28.505Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:28.505Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065157608933\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065157608933&alt=media\",\n + \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065157608933\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"COXLxPX1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:57.608Z\",\n \"updated\": \"2020-09-02T16:45:57.608Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:57.608Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CMaaxaeUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - COXLxPX1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -427,20 +466,20 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "test/accounts.2.json"} + {"name": "2014-01-03.csv"} --==0== Content-Type: application/octet-stream - {"amount": 500, "name": "Alice"} + name,amount,id - {"amount": 600, "name": "Bob"} + Dennis,400,4 - {"amount": 700, "name": "Charlie"} + Edith,500,5 - {"amount": 800, "name": "Dennis"} + Frank,600,6 --==0==--' @@ -451,24 +490,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594743988519518\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594743988519518&alt=media\",\n - \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743988519518\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n - \ \"etag\": \"CN6ExqeUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:28.519Z\",\n - \ \"updated\": \"2020-07-14T16:26:28.519Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:28.519Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065157731902\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065157731902&alt=media\",\n + \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065157731902\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CL6MzPX1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:57.731Z\",\n \"updated\": \"2020-09-02T16:45:57.731Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:57.731Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CN6ExqeUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CL6MzPX1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -479,7 +525,7 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-01.csv"} + {"name": "2014-01-02.csv"} --==0== @@ -488,12 +534,6 @@ interactions: name,amount,id - Alice,100,1 - - Bob,200,2 - - Charlie,300,3 - --==0==--' headers: @@ -503,23 +543,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1594743988543302\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594743988543302&alt=media\",\n - \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743988543302\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CMa+x6eUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:28.543Z\",\n \"updated\": \"2020-07-14T16:26:28.543Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:28.543Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065157810139\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065157810139&alt=media\",\n + \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065157810139\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CNvv0PX1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:57.810Z\",\n \"updated\": \"2020-09-02T16:45:57.810Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:57.810Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CMa+x6eUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CNvv0PX1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -547,24 +595,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594743988602012\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065157837148\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594743988602012&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065157837148&alt=media\",\n \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743988602012\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065157837148\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n \"crc32c\": \"MaqBTg==\",\n - \ \"etag\": \"CJyJy6eUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:28.601Z\",\n - \ \"updated\": \"2020-07-14T16:26:28.601Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:28.601Z\"\n}\n" + \ \"etag\": \"CNzC0vX1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:57.836Z\",\n + \ \"updated\": \"2020-09-02T16:45:57.836Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:57.836Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: CJyJy6eUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CNzC0vX1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -573,102 +629,207 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=test%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=test%2F response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594743987495668\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065157382060\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594743987495668&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065157382060&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743987495668\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065157382060\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n - \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CPTFh6eUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:27.495Z\",\n \"updated\": \"2020-07-14T16:26:27.495Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:27.495Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594743988519518\",\n + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CKzftvX1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:57.381Z\",\n \"updated\": \"2020-09-02T16:45:57.381Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:57.381Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065157491326\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594743988519518&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065157491326&alt=media\",\n \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743988519518\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065157491326\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n - \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CN6ExqeUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:28.519Z\",\n \"updated\": \"2020-07-14T16:26:28.519Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:28.519Z\"\n }\n ]\n}\n" + \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CP60vfX1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:57.491Z\",\n \"updated\": \"2020-09-02T16:45:57.491Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:57.491Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1779' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '1771' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=test/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=test/ - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?alt=media + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test response: body: - string: '{"amount": 500, "name": "Alice"} - - {"amount": 600, "name": "Bob"} - - {"amount": 700, "name": "Charlie"} - - {"amount": 800, "name": "Dennis"} - - ' + string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: + gcsfs-testing/test\",\n \"errors\": [\n {\n \"message\": \"No + such object: gcsfs-testing/test\",\n \"domain\": \"global\",\n \"reason\": + \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '133' - Content-Type: application/octet-stream - Etag: CN6ExqeUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594743988519518' - X-Goog-Hash: crc32c=Su+F+g==,md5=bjhC5OCrzKV+8MGMCF2BQA== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '241' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?alt=media + code: 404 + message: Not Found + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?alt=media + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=test%2F response: body: - string: '{"amount": 100, "name": "Alice"} - - {"amount": 200, "name": "Bob"} - - {"amount": 300, "name": "Charlie"} - - {"amount": 400, "name": "Dennis"} - + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065157382060\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065157382060&alt=media\",\n + \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065157382060\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CKzftvX1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:57.381Z\",\n \"updated\": \"2020-09-02T16:45:57.381Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:57.381Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065157491326\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065157491326&alt=media\",\n + \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065157491326\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n + \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CP60vfX1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:57.491Z\",\n \"updated\": \"2020-09-02T16:45:57.491Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:57.491Z\"\n }\n ]\n}\n" + headers: + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '1771' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=test/ +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?alt=media + response: + body: + string: '{"amount": 500, "name": "Alice"} + + {"amount": 600, "name": "Bob"} + + {"amount": 700, "name": "Charlie"} + + {"amount": 800, "name": "Dennis"} + ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '133' - Content-Type: application/octet-stream - Etag: CPTFh6eUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594743987495668' - X-Goog-Hash: crc32c=6wJAgQ==,md5=xK7pmJz/Oj5HGIyfQpYTig== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '133' + Content-Type: + - application/octet-stream + Etag: + - CP60vfX1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065157491326' + X-Goog-Hash: + - crc32c=Su+F+g==,md5=bjhC5OCrzKV+8MGMCF2BQA== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD + status: + code: 200 + message: OK + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?alt=media +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?alt=media + response: + body: + string: '{"amount": 100, "name": "Alice"} + + {"amount": 200, "name": "Bob"} + + {"amount": 300, "name": "Charlie"} + + {"amount": 400, "name": "Dennis"} + + ' + headers: + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '133' + Content-Type: + - application/octet-stream + Etag: + - CKzftvX1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065157382060' + X-Goog-Hash: + - crc32c=6wJAgQ==,md5=xK7pmJz/Oj5HGIyfQpYTig== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK @@ -703,24 +864,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.1.json/1594743989320288\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.1.json/1599065158315134\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json?generation=1594743989320288&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json?generation=1599065158315134&alt=media\",\n \ \"name\": \"temp_dir/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743989320288\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065158315134\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"COD09qeUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:29.320Z\",\n - \ \"updated\": \"2020-07-14T16:26:29.320Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:29.320Z\"\n}\n" + \ \"etag\": \"CP7Y7/X1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:58.314Z\",\n + \ \"updated\": \"2020-09-02T16:45:58.314Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:58.314Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '804' - Content-Type: application/json; charset=UTF-8 - Etag: COD09qeUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '800' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CP7Y7/X1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -755,24 +924,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.2.json/1594743989998130\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.2.json/1599065158389820\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json?generation=1594743989998130&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json?generation=1599065158389820&alt=media\",\n \ \"name\": \"temp_dir/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743989998130\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065158389820\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n - \ \"etag\": \"CLKkoKiUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:29.997Z\",\n - \ \"updated\": \"2020-07-14T16:26:29.997Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:29.997Z\"\n}\n" + \ \"etag\": \"CLyg9PX1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:58.389Z\",\n + \ \"updated\": \"2020-09-02T16:45:58.389Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:58.389Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '804' - Content-Type: application/json; charset=UTF-8 - Etag: CLKkoKiUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '800' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CLyg9PX1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -781,48 +958,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=temp_dir%2Faccounts.1.json%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=temp_dir%2Faccounts.1.json%2F response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=temp_dir/accounts.1.json/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.1.json/1594743989320288\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json?generation=1594743989320288&alt=media\",\n - \ \"name\": \"temp_dir/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743989320288\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"COD09qeUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:29.320Z\",\n - \ \"updated\": \"2020-07-14T16:26:29.320Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:29.320Z\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '804' - Content-Type: application/json; charset=UTF-8 - Etag: COD09qeUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=temp_dir/accounts.1.json/ - request: body: null headers: {} @@ -830,23 +985,30 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.1.json/1594743989320288\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.1.json/1599065158315134\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json?generation=1594743989320288&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json?generation=1599065158315134&alt=media\",\n \ \"name\": \"temp_dir/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743989320288\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065158315134\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"COD09qeUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:29.320Z\",\n - \ \"updated\": \"2020-07-14T16:26:29.320Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:29.320Z\"\n}\n" + \ \"etag\": \"CP7Y7/X1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:58.314Z\",\n + \ \"updated\": \"2020-09-02T16:45:58.314Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:58.314Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '804' - Content-Type: application/json; charset=UTF-8 - Etag: COD09qeUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '800' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CP7Y7/X1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -858,23 +1020,30 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.1.json/1594743989320288\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.1.json/1599065158315134\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json?generation=1594743989320288&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json?generation=1599065158315134&alt=media\",\n \ \"name\": \"temp_dir/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743989320288\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065158315134\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"COD09qeUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:29.320Z\",\n - \ \"updated\": \"2020-07-14T16:26:29.320Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:29.320Z\"\n}\n" + \ \"etag\": \"CP7Y7/X1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:58.314Z\",\n + \ \"updated\": \"2020-09-02T16:45:58.314Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:58.314Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '804' - Content-Type: application/json; charset=UTF-8 - Etag: COD09qeUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '800' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CP7Y7/X1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -896,18 +1065,31 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '133' - Content-Type: application/octet-stream - Etag: COD09qeUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594743989320288' - X-Goog-Hash: crc32c=6wJAgQ==,md5=xK7pmJz/Oj5HGIyfQpYTig== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '133' + Content-Type: + - application/octet-stream + Etag: + - CP7Y7/X1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065158315134' + X-Goog-Hash: + - crc32c=6wJAgQ==,md5=xK7pmJz/Oj5HGIyfQpYTig== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK @@ -916,48 +1098,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=temp_dir%2Faccounts.2.json%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=temp_dir%2Faccounts.2.json%2F response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=temp_dir/accounts.2.json/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.2.json/1594743989998130\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json?generation=1594743989998130&alt=media\",\n - \ \"name\": \"temp_dir/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743989998130\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n - \ \"etag\": \"CLKkoKiUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:29.997Z\",\n - \ \"updated\": \"2020-07-14T16:26:29.997Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:29.997Z\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '804' - Content-Type: application/json; charset=UTF-8 - Etag: CLKkoKiUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=temp_dir/accounts.2.json/ - request: body: null headers: {} @@ -965,23 +1125,30 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.2.json/1594743989998130\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.2.json/1599065158389820\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json?generation=1594743989998130&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json?generation=1599065158389820&alt=media\",\n \ \"name\": \"temp_dir/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743989998130\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065158389820\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n - \ \"etag\": \"CLKkoKiUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:29.997Z\",\n - \ \"updated\": \"2020-07-14T16:26:29.997Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:29.997Z\"\n}\n" + \ \"etag\": \"CLyg9PX1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:58.389Z\",\n + \ \"updated\": \"2020-09-02T16:45:58.389Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:58.389Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '804' - Content-Type: application/json; charset=UTF-8 - Etag: CLKkoKiUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '800' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CLyg9PX1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -993,23 +1160,30 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.2.json/1594743989998130\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.2.json/1599065158389820\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json?generation=1594743989998130&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json?generation=1599065158389820&alt=media\",\n \ \"name\": \"temp_dir/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743989998130\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065158389820\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n - \ \"etag\": \"CLKkoKiUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:29.997Z\",\n - \ \"updated\": \"2020-07-14T16:26:29.997Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:29.997Z\"\n}\n" + \ \"etag\": \"CLyg9PX1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:58.389Z\",\n + \ \"updated\": \"2020-09-02T16:45:58.389Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:58.389Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '804' - Content-Type: application/json; charset=UTF-8 - Etag: CLKkoKiUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '800' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CLyg9PX1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -1031,18 +1205,31 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '133' - Content-Type: application/octet-stream - Etag: CLKkoKiUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594743989998130' - X-Goog-Hash: crc32c=Su+F+g==,md5=bjhC5OCrzKV+8MGMCF2BQA== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '133' + Content-Type: + - application/octet-stream + Etag: + - CLyg9PX1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065158389820' + X-Goog-Hash: + - crc32c=Su+F+g==,md5=bjhC5OCrzKV+8MGMCF2BQA== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK @@ -1051,165 +1238,136 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/\",\n - \ \"temp_dir/\",\n \"test/\"\n ],\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1594743988543302\",\n + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065157501916\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594743988543302&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065157501916&alt=media\",\n \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743988543302\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065157501916\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CMa+x6eUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:28.543Z\",\n \"updated\": \"2020-07-14T16:26:28.543Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:28.543Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594743988505926\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CNyHvvX1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:57.501Z\",\n \"updated\": \"2020-09-02T16:45:57.501Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:57.501Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065157810139\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594743988505926&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065157810139&alt=media\",\n \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743988505926\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065157810139\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CMaaxaeUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:28.505Z\",\n \"updated\": \"2020-07-14T16:26:28.505Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:28.505Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594743988490058\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CNvv0PX1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:57.810Z\",\n \"updated\": \"2020-09-02T16:45:57.810Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:57.810Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065157731902\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594743988490058&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065157731902&alt=media\",\n \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743988490058\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065157731902\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CMqexKeUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:28.489Z\",\n \"updated\": \"2020-07-14T16:26:28.489Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:28.489Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '2622' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/nested2/\"\n - \ ],\n \"items\": [\n {\n \"kind\": \"storage#object\",\n \"id\": - \"gcsfs-testing/nested/file1/1594743988487414\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594743988487414&alt=media\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CL6MzPX1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:57.731Z\",\n \"updated\": \"2020-09-02T16:45:57.731Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:57.731Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065157608933\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065157608933&alt=media\",\n \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743988487414\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065157608933\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CPaJxKeUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:28.487Z\",\n \"updated\": \"2020-07-14T16:26:28.487Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:28.487Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594743988407641\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"COXLxPX1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:57.608Z\",\n \"updated\": \"2020-09-02T16:45:57.608Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:57.608Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065157490262\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594743988407641&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065157490262&alt=media\",\n \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743988407641\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065157490262\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CNmav6eUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:28.407Z\",\n \"updated\": \"2020-07-14T16:26:28.407Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:28.407Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1754' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2Fnested2%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594743988393166\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CNasvfX1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:57.490Z\",\n \"updated\": \"2020-09-02T16:45:57.490Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:57.490Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065157590650\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594743988393166&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065157590650&alt=media\",\n \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743988393166\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065157590650\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CM6pvqeUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:28.393Z\",\n \"updated\": \"2020-07-14T16:26:28.393Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:28.393Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594743988602012\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CPq8w/X1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:57.590Z\",\n \"updated\": \"2020-09-02T16:45:57.590Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:57.590Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065157837148\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594743988602012&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065157837148&alt=media\",\n \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743988602012\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065157837148\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CJyJy6eUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:28.601Z\",\n \"updated\": \"2020-07-14T16:26:28.601Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:28.601Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1783' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/nested2/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=temp_dir%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.1.json/1594743989320288\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CNzC0vX1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:57.836Z\",\n \"updated\": \"2020-09-02T16:45:57.836Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:57.836Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.1.json/1599065158315134\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json?generation=1594743989320288&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json?generation=1599065158315134&alt=media\",\n \ \"name\": \"temp_dir/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743989320288\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065158315134\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n - \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"COD09qeUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:29.320Z\",\n \"updated\": \"2020-07-14T16:26:29.320Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:29.320Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.2.json/1594743989998130\",\n + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CP7Y7/X1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:58.314Z\",\n \"updated\": \"2020-09-02T16:45:58.314Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:58.314Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.2.json/1599065158389820\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json?generation=1594743989998130&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json?generation=1599065158389820&alt=media\",\n \ \"name\": \"temp_dir/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743989998130\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065158389820\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n - \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CLKkoKiUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:29.997Z\",\n \"updated\": \"2020-07-14T16:26:29.997Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:29.997Z\"\n }\n ]\n}\n" + \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CLyg9PX1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:58.389Z\",\n \"updated\": \"2020-09-02T16:45:58.389Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:58.389Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065157382060\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065157382060&alt=media\",\n + \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065157382060\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CKzftvX1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:57.381Z\",\n \"updated\": \"2020-09-02T16:45:57.381Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:57.381Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065157491326\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065157491326&alt=media\",\n + \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065157491326\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n + \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CP60vfX1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:57.491Z\",\n \"updated\": \"2020-09-02T16:45:57.491Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:57.491Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1811' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '9401' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=temp_dir/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -1419,40 +1577,51 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_7AbDbTLchuM_AAQRIpNAJaQ\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_w621EXC-Y18_AAH9tGZ9VKY\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:26:32 GMT\r\n\r\n\r\n--batch_7AbDbTLchuM_AAQRIpNAJaQ\r\nContent-Type: + Wed, 02 Sep 2020 16:45:59 GMT\r\n\r\n\r\n--batch_w621EXC-Y18_AAH9tGZ9VKY\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:32 GMT\r\n\r\n\r\n--batch_7AbDbTLchuM_AAQRIpNAJaQ\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:59 GMT\r\n\r\n\r\n--batch_w621EXC-Y18_AAH9tGZ9VKY\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:32 GMT\r\n\r\n\r\n--batch_7AbDbTLchuM_AAQRIpNAJaQ\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:59 GMT\r\n\r\n\r\n--batch_w621EXC-Y18_AAH9tGZ9VKY\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:32 GMT\r\n\r\n\r\n--batch_7AbDbTLchuM_AAQRIpNAJaQ\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:59 GMT\r\n\r\n\r\n--batch_w621EXC-Y18_AAH9tGZ9VKY\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:32 GMT\r\n\r\n\r\n--batch_7AbDbTLchuM_AAQRIpNAJaQ\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:59 GMT\r\n\r\n\r\n--batch_w621EXC-Y18_AAH9tGZ9VKY\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:32 GMT\r\n\r\n\r\n--batch_7AbDbTLchuM_AAQRIpNAJaQ\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:59 GMT\r\n\r\n\r\n--batch_w621EXC-Y18_AAH9tGZ9VKY\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:32 GMT\r\n\r\n\r\n--batch_7AbDbTLchuM_AAQRIpNAJaQ\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:59 GMT\r\n\r\n\r\n--batch_w621EXC-Y18_AAH9tGZ9VKY\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:32 GMT\r\n\r\n\r\n--batch_7AbDbTLchuM_AAQRIpNAJaQ\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:59 GMT\r\n\r\n\r\n--batch_w621EXC-Y18_AAH9tGZ9VKY\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:32 GMT\r\n\r\n\r\n--batch_7AbDbTLchuM_AAQRIpNAJaQ\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:59 GMT\r\n\r\n\r\n--batch_w621EXC-Y18_AAH9tGZ9VKY\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:32 GMT\r\n\r\n\r\n--batch_7AbDbTLchuM_AAQRIpNAJaQ\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:59 GMT\r\n\r\n\r\n--batch_w621EXC-Y18_AAH9tGZ9VKY\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:32 GMT\r\n\r\n\r\n--batch_7AbDbTLchuM_AAQRIpNAJaQ--\r\n" - headers: - Cache-Control: private, max-age=0 - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_7AbDbTLchuM_AAQRIpNAJaQ - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:59 GMT\r\n\r\n\r\n--batch_w621EXC-Y18_AAH9tGZ9VKY--\r\n" + headers: + Cache-Control: + - private, max-age=0 + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_w621EXC-Y18_AAH9tGZ9VKY + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK @@ -1475,9 +1644,9 @@ interactions: response: body: string: !!binary | - H4sIAL7cDV8C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP - Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTbrIjV/LxFkoZrU2crBq6vWuUotC5uKQ1/mG2MN - eSGDCUIcgF/gWV4/ygdCxTr84P+/HB99IHep4wAAAA== + H4sIAErMT18C/4WPsQ7DIBBDfyVibmHP2B+JTnBJUIFD3CGoqvx7Qzt1ymTZsuTntwJrkXkRemJS + 86R67+o2KbaUcfhTknfTLpJ5Nqa1pjeiLSBkz9pSNFBlN5Wx+LSSxgg+XNbPVapJWBcc/rJvA1V3 + zwFkpRIH4Bd4kdeP8oFQsIzcu/8vxwfXyTDP4wAAAA== headers: Cache-Control: - private @@ -1506,20 +1675,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -1529,34 +1704,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -1564,37 +1726,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:34.412Z\",\n \"updated\": \"2020-07-14T16:26:34.412Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" + headers: + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: '--==0== @@ -1626,24 +1779,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594743994698482\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065160803306\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594743994698482&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065160803306&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743994698482\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065160803306\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"CPKVv6qUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:34.698Z\",\n - \ \"updated\": \"2020-07-14T16:26:34.698Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:34.698Z\"\n}\n" + \ \"etag\": \"COrHh/f1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:00.803Z\",\n + \ \"updated\": \"2020-09-02T16:46:00.803Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:00.803Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CPKVv6qUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - COrHh/f1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -1654,14 +1815,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-02.csv"} + {"name": "nested/file1"} --==0== Content-Type: application/octet-stream - name,amount,id + hello --==0==--' @@ -1672,23 +1833,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594743994788001\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594743994788001&alt=media\",\n - \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743994788001\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CKHRxKqUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:34.787Z\",\n \"updated\": \"2020-07-14T16:26:34.787Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:34.787Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065160878380\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065160878380&alt=media\",\n + \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065160878380\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CKySjPf1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:00.878Z\",\n \"updated\": \"2020-09-02T16:46:00.878Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:00.878Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CKHRxKqUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CKySjPf1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -1699,15 +1868,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/nested2/file1"} + {"name": "nested/nested2/file2"} --==0== Content-Type: application/octet-stream - hello - + world --==0==--' headers: @@ -1717,24 +1885,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594743994794969\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594743994794969&alt=media\",\n - \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743994794969\",\n \"metageneration\": \"1\",\n \"contentType\": + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065160887387\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065160887387&alt=media\",\n + \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065160887387\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n \"crc32c\": \"NT3Yvg==\",\n - \ \"etag\": \"CNmHxaqUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:34.794Z\",\n - \ \"updated\": \"2020-07-14T16:26:34.794Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:34.794Z\"\n}\n" + \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n \"crc32c\": \"MaqBTg==\",\n + \ \"etag\": \"CNvYjPf1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:00.887Z\",\n + \ \"updated\": \"2020-09-02T16:46:00.887Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:00.887Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: CNmHxaqUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CNvYjPf1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -1745,14 +1921,20 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/file1"} + {"name": "2014-01-01.csv"} --==0== Content-Type: application/octet-stream - hello + name,amount,id + + Alice,100,1 + + Bob,200,2 + + Charlie,300,3 --==0==--' @@ -1763,23 +1945,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1594743994795434\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594743994795434&alt=media\",\n - \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743994795434\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CKqLxaqUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:34.795Z\",\n \"updated\": \"2020-07-14T16:26:34.795Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:34.795Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065160886149\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065160886149&alt=media\",\n + \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065160886149\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CIXPjPf1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:00.886Z\",\n \"updated\": \"2020-09-02T16:46:00.886Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:00.886Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CKqLxaqUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CIXPjPf1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -1790,20 +1980,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "test/accounts.2.json"} + {"name": "2014-01-02.csv"} --==0== Content-Type: application/octet-stream - {"amount": 500, "name": "Alice"} - - {"amount": 600, "name": "Bob"} - - {"amount": 700, "name": "Charlie"} - - {"amount": 800, "name": "Dennis"} + name,amount,id --==0==--' @@ -1814,24 +1998,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594743994805962\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594743994805962&alt=media\",\n - \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743994805962\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n - \ \"etag\": \"CMrdxaqUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:34.805Z\",\n - \ \"updated\": \"2020-07-14T16:26:34.805Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:34.805Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065160910025\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065160910025&alt=media\",\n + \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065160910025\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CMmJjvf1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:00.909Z\",\n \"updated\": \"2020-09-02T16:46:00.909Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:00.909Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CMrdxaqUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CMmJjvf1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -1842,21 +2033,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-03.csv"} + {"name": "nested/file2"} --==0== Content-Type: application/octet-stream - name,amount,id - - Dennis,400,4 - - Edith,500,5 - - Frank,600,6 - + world --==0==--' headers: @@ -1866,23 +2050,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594743994808329\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594743994808329&alt=media\",\n - \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743994808329\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CInwxaqUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:34.808Z\",\n \"updated\": \"2020-07-14T16:26:34.808Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:34.808Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065160926624\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065160926624&alt=media\",\n + \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065160926624\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CKCLj/f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:00.926Z\",\n \"updated\": \"2020-09-02T16:46:00.926Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:00.926Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CInwxaqUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CKCLj/f1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -1893,14 +2085,21 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/file2"} + {"name": "test/accounts.2.json"} --==0== Content-Type: application/octet-stream - world + {"amount": 500, "name": "Alice"} + + {"amount": 600, "name": "Bob"} + + {"amount": 700, "name": "Charlie"} + + {"amount": 800, "name": "Dennis"} + --==0==--' headers: @@ -1910,23 +2109,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594743994831496\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594743994831496&alt=media\",\n - \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743994831496\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CIilx6qUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:34.831Z\",\n \"updated\": \"2020-07-14T16:26:34.831Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:34.831Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065160930423\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065160930423&alt=media\",\n + \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065160930423\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n + \ \"etag\": \"CPeoj/f1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:00.930Z\",\n + \ \"updated\": \"2020-09-02T16:46:00.930Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:00.930Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CIilx6qUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CPeoj/f1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -1937,20 +2145,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-01.csv"} + {"name": "nested/nested2/file1"} --==0== Content-Type: application/octet-stream - name,amount,id - - Alice,100,1 - - Bob,200,2 - - Charlie,300,3 + hello --==0==--' @@ -1961,23 +2163,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1594743994923861\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594743994923861&alt=media\",\n - \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743994923861\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CNX2zKqUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:34.923Z\",\n \"updated\": \"2020-07-14T16:26:34.923Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:34.923Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065160935491\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065160935491&alt=media\",\n + \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065160935491\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n \"crc32c\": \"NT3Yvg==\",\n + \ \"etag\": \"CMPQj/f1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:00.935Z\",\n + \ \"updated\": \"2020-09-02T16:46:00.935Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:00.935Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CNX2zKqUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CMPQj/f1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -1988,14 +2199,21 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/nested2/file2"} + {"name": "2014-01-03.csv"} --==0== Content-Type: application/octet-stream - world + name,amount,id + + Dennis,400,4 + + Edith,500,5 + + Frank,600,6 + --==0==--' headers: @@ -2005,28 +2223,108 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594743995796512\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594743995796512&alt=media\",\n - \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743995796512\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n \"crc32c\": \"MaqBTg==\",\n - \ \"etag\": \"CKCYgquUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:35.796Z\",\n - \ \"updated\": \"2020-07-14T16:26:35.796Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:35.796Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065161159694\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065161159694&alt=media\",\n + \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065161159694\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CI6onff1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:01.159Z\",\n \"updated\": \"2020-09-02T16:46:01.159Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:01.159Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: CKCYgquUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CI6onff1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=test%2F + response: + body: + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065160803306\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065160803306&alt=media\",\n + \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065160803306\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"COrHh/f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:00.803Z\",\n \"updated\": \"2020-09-02T16:46:00.803Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:00.803Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065160930423\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065160930423&alt=media\",\n + \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065160930423\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n + \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CPeoj/f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:00.930Z\",\n \"updated\": \"2020-09-02T16:46:00.930Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:00.930Z\"\n }\n ]\n}\n" + headers: + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '1771' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=test/ +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test + response: + body: + string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: + gcsfs-testing/test\",\n \"errors\": [\n {\n \"message\": \"No + such object: gcsfs-testing/test\",\n \"domain\": \"global\",\n \"reason\": + \"notFound\"\n }\n ]\n }\n}\n" + headers: + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '241' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: + code: 404 + message: Not Found + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test - request: body: null headers: {} @@ -2035,32 +2333,38 @@ interactions: response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594743994698482\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065160803306\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594743994698482&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065160803306&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743994698482\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065160803306\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n - \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CPKVv6qUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:34.698Z\",\n \"updated\": \"2020-07-14T16:26:34.698Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:34.698Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594743994805962\",\n + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"COrHh/f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:00.803Z\",\n \"updated\": \"2020-09-02T16:46:00.803Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:00.803Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065160930423\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594743994805962&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065160930423&alt=media\",\n \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743994805962\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065160930423\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n - \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CMrdxaqUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:34.805Z\",\n \"updated\": \"2020-07-14T16:26:34.805Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:34.805Z\"\n }\n ]\n}\n" + \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CPeoj/f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:00.930Z\",\n \"updated\": \"2020-09-02T16:46:00.930Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:00.930Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1779' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '1771' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -2069,68 +2373,94 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?alt=media + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?alt=media response: body: - string: '{"amount": 500, "name": "Alice"} + string: '{"amount": 100, "name": "Alice"} - {"amount": 600, "name": "Bob"} + {"amount": 200, "name": "Bob"} - {"amount": 700, "name": "Charlie"} + {"amount": 300, "name": "Charlie"} - {"amount": 800, "name": "Dennis"} + {"amount": 400, "name": "Dennis"} ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '133' - Content-Type: application/octet-stream - Etag: CMrdxaqUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594743994805962' - X-Goog-Hash: crc32c=Su+F+g==,md5=bjhC5OCrzKV+8MGMCF2BQA== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '133' + Content-Type: + - application/octet-stream + Etag: + - COrHh/f1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065160803306' + X-Goog-Hash: + - crc32c=6wJAgQ==,md5=xK7pmJz/Oj5HGIyfQpYTig== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?alt=media + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?alt=media - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?alt=media + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?alt=media response: body: - string: '{"amount": 100, "name": "Alice"} + string: '{"amount": 500, "name": "Alice"} - {"amount": 200, "name": "Bob"} + {"amount": 600, "name": "Bob"} - {"amount": 300, "name": "Charlie"} + {"amount": 700, "name": "Charlie"} - {"amount": 400, "name": "Dennis"} + {"amount": 800, "name": "Dennis"} ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '133' - Content-Type: application/octet-stream - Etag: CPKVv6qUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594743994698482' - X-Goog-Hash: crc32c=6wJAgQ==,md5=xK7pmJz/Oj5HGIyfQpYTig== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '133' + Content-Type: + - application/octet-stream + Etag: + - CPeoj/f1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065160930423' + X-Goog-Hash: + - crc32c=Su+F+g==,md5=bjhC5OCrzKV+8MGMCF2BQA== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?alt=media + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?alt=media - request: body: '--==0== @@ -2161,24 +2491,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.1.json/1594743996484024\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.1.json/1599065161652558\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json?generation=1594743996484024&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json?generation=1599065161652558&alt=media\",\n \ \"name\": \"temp_dir/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743996484024\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065161652558\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"CLiTrKuUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:36.483Z\",\n - \ \"updated\": \"2020-07-14T16:26:36.483Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:36.483Z\"\n}\n" + \ \"etag\": \"CM6yu/f1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:01.652Z\",\n + \ \"updated\": \"2020-09-02T16:46:01.652Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:01.652Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '804' - Content-Type: application/json; charset=UTF-8 - Etag: CLiTrKuUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '800' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CM6yu/f1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -2213,24 +2551,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.2.json/1594743996510483\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.2.json/1599065161652977\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json?generation=1594743996510483&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json?generation=1599065161652977&alt=media\",\n \ \"name\": \"temp_dir/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743996510483\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065161652977\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n - \ \"etag\": \"CJPirauUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:36.510Z\",\n - \ \"updated\": \"2020-07-14T16:26:36.510Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:36.510Z\"\n}\n" + \ \"etag\": \"CPG1u/f1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:01.652Z\",\n + \ \"updated\": \"2020-09-02T16:46:01.652Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:01.652Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '804' - Content-Type: application/json; charset=UTF-8 - Etag: CJPirauUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '800' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CPG1u/f1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -2239,48 +2585,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=temp_dir%2Faccounts.1.json%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=temp_dir%2Faccounts.1.json%2F response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=temp_dir/accounts.1.json/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.1.json/1594743996484024\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json?generation=1594743996484024&alt=media\",\n - \ \"name\": \"temp_dir/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743996484024\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"CLiTrKuUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:36.483Z\",\n - \ \"updated\": \"2020-07-14T16:26:36.483Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:36.483Z\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '804' - Content-Type: application/json; charset=UTF-8 - Etag: CLiTrKuUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=temp_dir/accounts.1.json/ - request: body: null headers: {} @@ -2288,23 +2612,30 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.1.json/1594743996484024\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.1.json/1599065161652558\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json?generation=1594743996484024&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json?generation=1599065161652558&alt=media\",\n \ \"name\": \"temp_dir/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743996484024\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065161652558\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"CLiTrKuUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:36.483Z\",\n - \ \"updated\": \"2020-07-14T16:26:36.483Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:36.483Z\"\n}\n" + \ \"etag\": \"CM6yu/f1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:01.652Z\",\n + \ \"updated\": \"2020-09-02T16:46:01.652Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:01.652Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '804' - Content-Type: application/json; charset=UTF-8 - Etag: CLiTrKuUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '800' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CM6yu/f1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -2316,23 +2647,30 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.1.json/1594743996484024\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.1.json/1599065161652558\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json?generation=1594743996484024&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json?generation=1599065161652558&alt=media\",\n \ \"name\": \"temp_dir/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743996484024\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065161652558\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"CLiTrKuUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:36.483Z\",\n - \ \"updated\": \"2020-07-14T16:26:36.483Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:36.483Z\"\n}\n" + \ \"etag\": \"CM6yu/f1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:01.652Z\",\n + \ \"updated\": \"2020-09-02T16:46:01.652Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:01.652Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '804' - Content-Type: application/json; charset=UTF-8 - Etag: CLiTrKuUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '800' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CM6yu/f1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -2354,18 +2692,31 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '133' - Content-Type: application/octet-stream - Etag: CLiTrKuUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594743996484024' - X-Goog-Hash: crc32c=6wJAgQ==,md5=xK7pmJz/Oj5HGIyfQpYTig== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '133' + Content-Type: + - application/octet-stream + Etag: + - CM6yu/f1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065161652558' + X-Goog-Hash: + - crc32c=6wJAgQ==,md5=xK7pmJz/Oj5HGIyfQpYTig== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK @@ -2374,48 +2725,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=temp_dir%2Faccounts.2.json%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=temp_dir%2Faccounts.2.json%2F response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=temp_dir/accounts.2.json/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.2.json/1594743996510483\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json?generation=1594743996510483&alt=media\",\n - \ \"name\": \"temp_dir/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743996510483\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n - \ \"etag\": \"CJPirauUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:36.510Z\",\n - \ \"updated\": \"2020-07-14T16:26:36.510Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:36.510Z\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '804' - Content-Type: application/json; charset=UTF-8 - Etag: CJPirauUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=temp_dir/accounts.2.json/ - request: body: null headers: {} @@ -2423,23 +2752,30 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.2.json/1594743996510483\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.2.json/1599065161652977\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json?generation=1594743996510483&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json?generation=1599065161652977&alt=media\",\n \ \"name\": \"temp_dir/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743996510483\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065161652977\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n - \ \"etag\": \"CJPirauUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:36.510Z\",\n - \ \"updated\": \"2020-07-14T16:26:36.510Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:36.510Z\"\n}\n" + \ \"etag\": \"CPG1u/f1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:01.652Z\",\n + \ \"updated\": \"2020-09-02T16:46:01.652Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:01.652Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '804' - Content-Type: application/json; charset=UTF-8 - Etag: CJPirauUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '800' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CPG1u/f1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -2451,23 +2787,30 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.2.json/1594743996510483\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.2.json/1599065161652977\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json?generation=1594743996510483&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json?generation=1599065161652977&alt=media\",\n \ \"name\": \"temp_dir/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743996510483\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065161652977\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n - \ \"etag\": \"CJPirauUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:36.510Z\",\n - \ \"updated\": \"2020-07-14T16:26:36.510Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:36.510Z\"\n}\n" + \ \"etag\": \"CPG1u/f1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:01.652Z\",\n + \ \"updated\": \"2020-09-02T16:46:01.652Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:01.652Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '804' - Content-Type: application/json; charset=UTF-8 - Etag: CJPirauUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '800' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CPG1u/f1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -2489,18 +2832,31 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '133' - Content-Type: application/octet-stream - Etag: CJPirauUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594743996510483' - X-Goog-Hash: crc32c=Su+F+g==,md5=bjhC5OCrzKV+8MGMCF2BQA== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '133' + Content-Type: + - application/octet-stream + Etag: + - CPG1u/f1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065161652977' + X-Goog-Hash: + - crc32c=Su+F+g==,md5=bjhC5OCrzKV+8MGMCF2BQA== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK @@ -2509,165 +2865,136 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/\",\n - \ \"temp_dir/\",\n \"test/\"\n ],\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1594743994923861\",\n + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065160886149\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594743994923861&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065160886149&alt=media\",\n \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743994923861\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065160886149\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CNX2zKqUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:34.923Z\",\n \"updated\": \"2020-07-14T16:26:34.923Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:34.923Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594743994788001\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CIXPjPf1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:00.886Z\",\n \"updated\": \"2020-09-02T16:46:00.886Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:00.886Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065160910025\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594743994788001&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065160910025&alt=media\",\n \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743994788001\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065160910025\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CKHRxKqUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:34.787Z\",\n \"updated\": \"2020-07-14T16:26:34.787Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:34.787Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594743994808329\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CMmJjvf1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:00.909Z\",\n \"updated\": \"2020-09-02T16:46:00.909Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:00.909Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065161159694\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594743994808329&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065161159694&alt=media\",\n \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743994808329\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065161159694\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CInwxaqUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:34.808Z\",\n \"updated\": \"2020-07-14T16:26:34.808Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:34.808Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '2622' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/nested2/\"\n - \ ],\n \"items\": [\n {\n \"kind\": \"storage#object\",\n \"id\": - \"gcsfs-testing/nested/file1/1594743994795434\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594743994795434&alt=media\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CI6onff1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:01.159Z\",\n \"updated\": \"2020-09-02T16:46:01.159Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:01.159Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065160878380\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065160878380&alt=media\",\n \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743994795434\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065160878380\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CKqLxaqUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:34.795Z\",\n \"updated\": \"2020-07-14T16:26:34.795Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:34.795Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594743994831496\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CKySjPf1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:00.878Z\",\n \"updated\": \"2020-09-02T16:46:00.878Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:00.878Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065160926624\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594743994831496&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065160926624&alt=media\",\n \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743994831496\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065160926624\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CIilx6qUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:34.831Z\",\n \"updated\": \"2020-07-14T16:26:34.831Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:34.831Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1754' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2Fnested2%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594743994794969\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CKCLj/f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:00.926Z\",\n \"updated\": \"2020-09-02T16:46:00.926Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:00.926Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065160935491\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594743994794969&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065160935491&alt=media\",\n \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743994794969\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065160935491\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CNmHxaqUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:34.794Z\",\n \"updated\": \"2020-07-14T16:26:34.794Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:34.794Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594743995796512\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CMPQj/f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:00.935Z\",\n \"updated\": \"2020-09-02T16:46:00.935Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:00.935Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065160887387\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594743995796512&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065160887387&alt=media\",\n \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743995796512\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065160887387\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CKCYgquUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:35.796Z\",\n \"updated\": \"2020-07-14T16:26:35.796Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:35.796Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1783' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/nested2/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=temp_dir%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.1.json/1594743996484024\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CNvYjPf1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:00.887Z\",\n \"updated\": \"2020-09-02T16:46:00.887Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:00.887Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.1.json/1599065161652558\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json?generation=1594743996484024&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json?generation=1599065161652558&alt=media\",\n \ \"name\": \"temp_dir/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743996484024\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065161652558\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CM6yu/f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:01.652Z\",\n \"updated\": \"2020-09-02T16:46:01.652Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:01.652Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.2.json/1599065161652977\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json?generation=1599065161652977&alt=media\",\n + \ \"name\": \"temp_dir/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065161652977\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n + \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CPG1u/f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:01.652Z\",\n \"updated\": \"2020-09-02T16:46:01.652Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:01.652Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065160803306\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065160803306&alt=media\",\n + \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065160803306\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n - \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CLiTrKuUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:36.483Z\",\n \"updated\": \"2020-07-14T16:26:36.483Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:36.483Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.2.json/1594743996510483\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json?generation=1594743996510483&alt=media\",\n - \ \"name\": \"temp_dir/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743996510483\",\n \"metageneration\": \"1\",\n + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"COrHh/f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:00.803Z\",\n \"updated\": \"2020-09-02T16:46:00.803Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:00.803Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065160930423\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065160930423&alt=media\",\n + \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065160930423\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n - \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CJPirauUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:36.510Z\",\n \"updated\": \"2020-07-14T16:26:36.510Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:36.510Z\"\n }\n ]\n}\n" + \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CPeoj/f1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:00.930Z\",\n \"updated\": \"2020-09-02T16:46:00.930Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:00.930Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1811' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '9401' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=temp_dir/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -2877,40 +3204,51 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_1-a4dRpVKcQ_AAfprYnZfBM\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_9Lr9uZgtM24_AAnFYU5oPOs\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:26:38 GMT\r\n\r\n\r\n--batch_1-a4dRpVKcQ_AAfprYnZfBM\r\nContent-Type: + Wed, 02 Sep 2020 16:46:02 GMT\r\n\r\n\r\n--batch_9Lr9uZgtM24_AAnFYU5oPOs\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:38 GMT\r\n\r\n\r\n--batch_1-a4dRpVKcQ_AAfprYnZfBM\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:02 GMT\r\n\r\n\r\n--batch_9Lr9uZgtM24_AAnFYU5oPOs\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:38 GMT\r\n\r\n\r\n--batch_1-a4dRpVKcQ_AAfprYnZfBM\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:02 GMT\r\n\r\n\r\n--batch_9Lr9uZgtM24_AAnFYU5oPOs\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:38 GMT\r\n\r\n\r\n--batch_1-a4dRpVKcQ_AAfprYnZfBM\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:02 GMT\r\n\r\n\r\n--batch_9Lr9uZgtM24_AAnFYU5oPOs\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:38 GMT\r\n\r\n\r\n--batch_1-a4dRpVKcQ_AAfprYnZfBM\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:02 GMT\r\n\r\n\r\n--batch_9Lr9uZgtM24_AAnFYU5oPOs\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:38 GMT\r\n\r\n\r\n--batch_1-a4dRpVKcQ_AAfprYnZfBM\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:02 GMT\r\n\r\n\r\n--batch_9Lr9uZgtM24_AAnFYU5oPOs\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:38 GMT\r\n\r\n\r\n--batch_1-a4dRpVKcQ_AAfprYnZfBM\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:02 GMT\r\n\r\n\r\n--batch_9Lr9uZgtM24_AAnFYU5oPOs\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:38 GMT\r\n\r\n\r\n--batch_1-a4dRpVKcQ_AAfprYnZfBM\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:02 GMT\r\n\r\n\r\n--batch_9Lr9uZgtM24_AAnFYU5oPOs\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:38 GMT\r\n\r\n\r\n--batch_1-a4dRpVKcQ_AAfprYnZfBM\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:02 GMT\r\n\r\n\r\n--batch_9Lr9uZgtM24_AAnFYU5oPOs\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:38 GMT\r\n\r\n\r\n--batch_1-a4dRpVKcQ_AAfprYnZfBM\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:02 GMT\r\n\r\n\r\n--batch_9Lr9uZgtM24_AAnFYU5oPOs\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:38 GMT\r\n\r\n\r\n--batch_1-a4dRpVKcQ_AAfprYnZfBM--\r\n" - headers: - Cache-Control: private, max-age=0 - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_1-a4dRpVKcQ_AAfprYnZfBM - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:02 GMT\r\n\r\n\r\n--batch_9Lr9uZgtM24_AAnFYU5oPOs--\r\n" + headers: + Cache-Control: + - private, max-age=0 + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_9Lr9uZgtM24_AAnFYU5oPOs + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK @@ -2933,9 +3271,9 @@ interactions: response: body: string: !!binary | - H4sIAL7cDV8C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP - Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTZ79qllYVNxaHWVb4w15IUMJghRnSs5+MuWi9T8 - vUSQhWoagF/gWV4/ygdCxTr84P+/HB+fT0zw4wAAAA== + H4sIAEvMT18C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULnc10s6+NTiHzLPQE7Oe + lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmy2MdaQFzKYIER1hZ9z1LKwqTjyJe8iNX8vEWSh + mtQplYMfgl/hWV4/ywdCxTr64P+/HB9GPeS/4wAAAA== headers: Cache-Control: - private @@ -2964,20 +3302,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -2987,34 +3331,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -3022,37 +3353,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:40.397Z\",\n \"updated\": \"2020-07-14T16:26:40.397Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" + headers: + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: '--==0== @@ -3084,24 +3406,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594744000701528\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065164143135\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594744000701528&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065164143135&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744000701528\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065164143135\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"CNjIra2UzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:40.701Z\",\n - \ \"updated\": \"2020-07-14T16:26:40.701Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:40.701Z\"\n}\n" + \ \"etag\": \"CJ+00/j1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:04.142Z\",\n + \ \"updated\": \"2020-09-02T16:46:04.142Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:04.142Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CNjIra2UzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CJ+00/j1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -3112,20 +3442,67 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-03.csv"} + {"name": "nested/nested2/file2"} --==0== Content-Type: application/octet-stream - name,amount,id + world - Dennis,400,4 + --==0==--' + headers: + Content-Type: + - multipart/related; boundary="==0==" + method: POST + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart + response: + body: + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065164271116\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065164271116&alt=media\",\n + \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065164271116\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n \"crc32c\": \"MaqBTg==\",\n + \ \"etag\": \"CIyc2/j1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:04.270Z\",\n + \ \"updated\": \"2020-09-02T16:46:04.270Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:04.270Z\"\n}\n" + headers: + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CIyc2/j1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart +- request: + body: '--==0== - Edith,500,5 + Content-Type: application/json; charset=UTF-8 - Frank,600,6 + + {"name": "nested/file1"} + + --==0== + + Content-Type: application/octet-stream + + + hello --==0==--' @@ -3136,23 +3513,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594744000800937\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594744000800937&alt=media\",\n - \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744000800937\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CKnRs62UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:40.800Z\",\n \"updated\": \"2020-07-14T16:26:40.800Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:40.800Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065164272467\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065164272467&alt=media\",\n + \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065164272467\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CNOm2/j1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:04.272Z\",\n \"updated\": \"2020-09-02T16:46:04.272Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:04.272Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CKnRs62UzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CNOm2/j1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -3187,24 +3572,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594744000845550\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065164274815\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594744000845550&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065164274815&alt=media\",\n \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744000845550\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065164274815\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n - \ \"etag\": \"CO6ttq2UzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:40.845Z\",\n - \ \"updated\": \"2020-07-14T16:26:40.845Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:40.845Z\"\n}\n" + \ \"etag\": \"CP+42/j1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:04.274Z\",\n + \ \"updated\": \"2020-09-02T16:46:04.274Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:04.274Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CO6ttq2UzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CP+42/j1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -3233,24 +3626,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594744000881954\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065164275702\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594744000881954&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065164275702&alt=media\",\n \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744000881954\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065164275702\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n \"crc32c\": \"NT3Yvg==\",\n - \ \"etag\": \"CKLKuK2UzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:40.881Z\",\n - \ \"updated\": \"2020-07-14T16:26:40.881Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:40.881Z\"\n}\n" + \ \"etag\": \"CPa/2/j1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:04.275Z\",\n + \ \"updated\": \"2020-09-02T16:46:04.275Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:04.275Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: CKLKuK2UzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CPa/2/j1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -3261,7 +3662,7 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-02.csv"} + {"name": "2014-01-01.csv"} --==0== @@ -3270,6 +3671,12 @@ interactions: name,amount,id + Alice,100,1 + + Bob,200,2 + + Charlie,300,3 + --==0==--' headers: @@ -3279,23 +3686,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594744000894797\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594744000894797&alt=media\",\n - \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744000894797\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CM2uua2UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:40.894Z\",\n \"updated\": \"2020-07-14T16:26:40.894Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:40.894Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065164278746\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065164278746&alt=media\",\n + \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065164278746\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CNrX2/j1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:04.278Z\",\n \"updated\": \"2020-09-02T16:46:04.278Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:04.278Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CM2uua2UzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CNrX2/j1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -3323,23 +3738,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594744000898038\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065164323652\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594744000898038&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065164323652&alt=media\",\n \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744000898038\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065164323652\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CPbHua2UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:40.897Z\",\n \"updated\": \"2020-07-14T16:26:40.897Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:40.897Z\"\n}\n" + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CMS23vj1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:04.323Z\",\n \"updated\": \"2020-09-02T16:46:04.323Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:04.323Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CPbHua2UzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CMS23vj1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -3350,14 +3773,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/file1"} + {"name": "2014-01-02.csv"} --==0== Content-Type: application/octet-stream - hello + name,amount,id --==0==--' @@ -3368,23 +3791,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1594744000901595\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594744000901595&alt=media\",\n - \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744000901595\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CNvjua2UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:40.901Z\",\n \"updated\": \"2020-07-14T16:26:40.901Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:40.901Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065164386031\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065164386031&alt=media\",\n + \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065164386031\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CO+d4vj1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:04.385Z\",\n \"updated\": \"2020-09-02T16:46:04.385Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:04.385Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CNvjua2UzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CO+d4vj1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -3395,7 +3826,7 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-01.csv"} + {"name": "2014-01-03.csv"} --==0== @@ -3404,11 +3835,11 @@ interactions: name,amount,id - Alice,100,1 + Dennis,400,4 - Bob,200,2 + Edith,500,5 - Charlie,300,3 + Frank,600,6 --==0==--' @@ -3419,72 +3850,108 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1594744000903972\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594744000903972&alt=media\",\n - \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744000903972\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CKT2ua2UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:40.903Z\",\n \"updated\": \"2020-07-14T16:26:40.903Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:40.903Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065164515524\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065164515524&alt=media\",\n + \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065164515524\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CMSR6vj1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:04.515Z\",\n \"updated\": \"2020-09-02T16:46:04.515Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:04.515Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CKT2ua2UzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CMSR6vj1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart - request: - body: '--==0== - - Content-Type: application/json; charset=UTF-8 - - - {"name": "nested/nested2/file2"} - - --==0== - - Content-Type: application/octet-stream - - - world - - --==0==--' - headers: - Content-Type: - - multipart/related; boundary="==0==" - method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=test%2F response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594744001792736\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594744001792736&alt=media\",\n - \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744001792736\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n \"crc32c\": \"MaqBTg==\",\n - \ \"etag\": \"COCV8K2UzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:41.792Z\",\n - \ \"updated\": \"2020-07-14T16:26:41.792Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:41.792Z\"\n}\n" + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065164143135\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065164143135&alt=media\",\n + \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065164143135\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CJ+00/j1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:04.142Z\",\n \"updated\": \"2020-09-02T16:46:04.142Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:04.142Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065164274815\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065164274815&alt=media\",\n + \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065164274815\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n + \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CP+42/j1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:04.274Z\",\n \"updated\": \"2020-09-02T16:46:04.274Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:04.274Z\"\n }\n ]\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: COCV8K2UzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '1771' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=test/ +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test + response: + body: + string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: + gcsfs-testing/test\",\n \"errors\": [\n {\n \"message\": \"No + such object: gcsfs-testing/test\",\n \"domain\": \"global\",\n \"reason\": + \"notFound\"\n }\n ]\n }\n}\n" + headers: + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '241' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: + code: 404 + message: Not Found + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test - request: body: null headers: {} @@ -3493,32 +3960,38 @@ interactions: response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594744000701528\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065164143135\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594744000701528&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065164143135&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744000701528\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065164143135\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n - \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CNjIra2UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:40.701Z\",\n \"updated\": \"2020-07-14T16:26:40.701Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:40.701Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594744000845550\",\n + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CJ+00/j1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:04.142Z\",\n \"updated\": \"2020-09-02T16:46:04.142Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:04.142Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065164274815\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594744000845550&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065164274815&alt=media\",\n \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744000845550\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065164274815\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n - \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CO6ttq2UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:40.845Z\",\n \"updated\": \"2020-07-14T16:26:40.845Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:40.845Z\"\n }\n ]\n}\n" + \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CP+42/j1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:04.274Z\",\n \"updated\": \"2020-09-02T16:46:04.274Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:04.274Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1779' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '1771' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -3527,68 +4000,94 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?alt=media + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?alt=media response: body: - string: '{"amount": 100, "name": "Alice"} + string: '{"amount": 500, "name": "Alice"} - {"amount": 200, "name": "Bob"} + {"amount": 600, "name": "Bob"} - {"amount": 300, "name": "Charlie"} + {"amount": 700, "name": "Charlie"} - {"amount": 400, "name": "Dennis"} + {"amount": 800, "name": "Dennis"} ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '133' - Content-Type: application/octet-stream - Etag: CNjIra2UzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744000701528' - X-Goog-Hash: crc32c=6wJAgQ==,md5=xK7pmJz/Oj5HGIyfQpYTig== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '133' + Content-Type: + - application/octet-stream + Etag: + - CP+42/j1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065164274815' + X-Goog-Hash: + - crc32c=Su+F+g==,md5=bjhC5OCrzKV+8MGMCF2BQA== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?alt=media + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?alt=media - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?alt=media + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?alt=media response: body: - string: '{"amount": 500, "name": "Alice"} + string: '{"amount": 100, "name": "Alice"} - {"amount": 600, "name": "Bob"} + {"amount": 200, "name": "Bob"} - {"amount": 700, "name": "Charlie"} + {"amount": 300, "name": "Charlie"} - {"amount": 800, "name": "Dennis"} + {"amount": 400, "name": "Dennis"} ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '133' - Content-Type: application/octet-stream - Etag: CO6ttq2UzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744000845550' - X-Goog-Hash: crc32c=Su+F+g==,md5=bjhC5OCrzKV+8MGMCF2BQA== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '133' + Content-Type: + - application/octet-stream + Etag: + - CJ+00/j1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065164143135' + X-Goog-Hash: + - crc32c=6wJAgQ==,md5=xK7pmJz/Oj5HGIyfQpYTig== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?alt=media + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?alt=media - request: body: '--==0== @@ -3619,24 +4118,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.1.json/1594744002488011\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.1.json/1599065164992884\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json?generation=1594744002488011&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json?generation=1599065164992884&alt=media\",\n \ \"name\": \"temp_dir/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744002488011\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065164992884\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"CMvNmq6UzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:42.487Z\",\n - \ \"updated\": \"2020-07-14T16:26:42.487Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:42.487Z\"\n}\n" + \ \"etag\": \"CPSih/n1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:04.992Z\",\n + \ \"updated\": \"2020-09-02T16:46:04.992Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:04.992Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '804' - Content-Type: application/json; charset=UTF-8 - Etag: CMvNmq6UzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '800' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CPSih/n1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -3671,24 +4178,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.2.json/1594744002590229\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.2.json/1599065165081667\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json?generation=1594744002590229&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json?generation=1599065165081667&alt=media\",\n \ \"name\": \"temp_dir/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744002590229\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065165081667\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n - \ \"etag\": \"CJXsoK6UzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:42.590Z\",\n - \ \"updated\": \"2020-07-14T16:26:42.590Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:42.590Z\"\n}\n" + \ \"etag\": \"CMPYjPn1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:05.081Z\",\n + \ \"updated\": \"2020-09-02T16:46:05.081Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:05.081Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '804' - Content-Type: application/json; charset=UTF-8 - Etag: CJXsoK6UzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '800' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CMPYjPn1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -3697,48 +4212,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=temp_dir%2Faccounts.1.json%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=temp_dir%2Faccounts.1.json%2F response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=temp_dir/accounts.1.json/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.1.json/1594744002488011\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json?generation=1594744002488011&alt=media\",\n - \ \"name\": \"temp_dir/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744002488011\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"CMvNmq6UzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:42.487Z\",\n - \ \"updated\": \"2020-07-14T16:26:42.487Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:42.487Z\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '804' - Content-Type: application/json; charset=UTF-8 - Etag: CMvNmq6UzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=temp_dir/accounts.1.json/ - request: body: null headers: {} @@ -3746,23 +4239,30 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.1.json/1594744002488011\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.1.json/1599065164992884\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json?generation=1594744002488011&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json?generation=1599065164992884&alt=media\",\n \ \"name\": \"temp_dir/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744002488011\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065164992884\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"CMvNmq6UzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:42.487Z\",\n - \ \"updated\": \"2020-07-14T16:26:42.487Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:42.487Z\"\n}\n" + \ \"etag\": \"CPSih/n1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:04.992Z\",\n + \ \"updated\": \"2020-09-02T16:46:04.992Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:04.992Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '804' - Content-Type: application/json; charset=UTF-8 - Etag: CMvNmq6UzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '800' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CPSih/n1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -3774,23 +4274,30 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.1.json/1594744002488011\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.1.json/1599065164992884\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json?generation=1594744002488011&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json?generation=1599065164992884&alt=media\",\n \ \"name\": \"temp_dir/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744002488011\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065164992884\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"CMvNmq6UzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:42.487Z\",\n - \ \"updated\": \"2020-07-14T16:26:42.487Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:42.487Z\"\n}\n" + \ \"etag\": \"CPSih/n1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:04.992Z\",\n + \ \"updated\": \"2020-09-02T16:46:04.992Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:04.992Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '804' - Content-Type: application/json; charset=UTF-8 - Etag: CMvNmq6UzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '800' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CPSih/n1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -3812,18 +4319,31 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '133' - Content-Type: application/octet-stream - Etag: CMvNmq6UzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744002488011' - X-Goog-Hash: crc32c=6wJAgQ==,md5=xK7pmJz/Oj5HGIyfQpYTig== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '133' + Content-Type: + - application/octet-stream + Etag: + - CPSih/n1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065164992884' + X-Goog-Hash: + - crc32c=6wJAgQ==,md5=xK7pmJz/Oj5HGIyfQpYTig== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK @@ -3832,48 +4352,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=temp_dir%2Faccounts.2.json%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=temp_dir%2Faccounts.2.json%2F response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=temp_dir/accounts.2.json/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.2.json/1594744002590229\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json?generation=1594744002590229&alt=media\",\n - \ \"name\": \"temp_dir/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744002590229\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n - \ \"etag\": \"CJXsoK6UzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:42.590Z\",\n - \ \"updated\": \"2020-07-14T16:26:42.590Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:42.590Z\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '804' - Content-Type: application/json; charset=UTF-8 - Etag: CJXsoK6UzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=temp_dir/accounts.2.json/ - request: body: null headers: {} @@ -3881,23 +4379,30 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.2.json/1594744002590229\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.2.json/1599065165081667\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json?generation=1594744002590229&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json?generation=1599065165081667&alt=media\",\n \ \"name\": \"temp_dir/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744002590229\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065165081667\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n - \ \"etag\": \"CJXsoK6UzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:42.590Z\",\n - \ \"updated\": \"2020-07-14T16:26:42.590Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:42.590Z\"\n}\n" + \ \"etag\": \"CMPYjPn1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:05.081Z\",\n + \ \"updated\": \"2020-09-02T16:46:05.081Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:05.081Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '804' - Content-Type: application/json; charset=UTF-8 - Etag: CJXsoK6UzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '800' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CMPYjPn1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -3909,23 +4414,30 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.2.json/1594744002590229\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.2.json/1599065165081667\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json?generation=1594744002590229&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json?generation=1599065165081667&alt=media\",\n \ \"name\": \"temp_dir/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744002590229\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065165081667\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n - \ \"etag\": \"CJXsoK6UzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:42.590Z\",\n - \ \"updated\": \"2020-07-14T16:26:42.590Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:42.590Z\"\n}\n" + \ \"etag\": \"CMPYjPn1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:05.081Z\",\n + \ \"updated\": \"2020-09-02T16:46:05.081Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:05.081Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '804' - Content-Type: application/json; charset=UTF-8 - Etag: CJXsoK6UzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '800' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CMPYjPn1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -3947,18 +4459,31 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '133' - Content-Type: application/octet-stream - Etag: CJXsoK6UzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744002590229' - X-Goog-Hash: crc32c=Su+F+g==,md5=bjhC5OCrzKV+8MGMCF2BQA== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '133' + Content-Type: + - application/octet-stream + Etag: + - CMPYjPn1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065165081667' + X-Goog-Hash: + - crc32c=Su+F+g==,md5=bjhC5OCrzKV+8MGMCF2BQA== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK @@ -3967,165 +4492,136 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/\",\n - \ \"temp_dir/\",\n \"test/\"\n ],\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1594744000903972\",\n + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065164278746\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594744000903972&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065164278746&alt=media\",\n \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744000903972\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065164278746\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CKT2ua2UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:40.903Z\",\n \"updated\": \"2020-07-14T16:26:40.903Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:40.903Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594744000894797\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CNrX2/j1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:04.278Z\",\n \"updated\": \"2020-09-02T16:46:04.278Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:04.278Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065164386031\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594744000894797&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065164386031&alt=media\",\n \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744000894797\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065164386031\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CM2uua2UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:40.894Z\",\n \"updated\": \"2020-07-14T16:26:40.894Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:40.894Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594744000800937\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CO+d4vj1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:04.385Z\",\n \"updated\": \"2020-09-02T16:46:04.385Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:04.385Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065164515524\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594744000800937&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065164515524&alt=media\",\n \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744000800937\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065164515524\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CKnRs62UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:40.800Z\",\n \"updated\": \"2020-07-14T16:26:40.800Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:40.800Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '2622' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/nested2/\"\n - \ ],\n \"items\": [\n {\n \"kind\": \"storage#object\",\n \"id\": - \"gcsfs-testing/nested/file1/1594744000901595\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594744000901595&alt=media\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CMSR6vj1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:04.515Z\",\n \"updated\": \"2020-09-02T16:46:04.515Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:04.515Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065164272467\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065164272467&alt=media\",\n \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744000901595\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065164272467\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CNvjua2UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:40.901Z\",\n \"updated\": \"2020-07-14T16:26:40.901Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:40.901Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594744000898038\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CNOm2/j1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:04.272Z\",\n \"updated\": \"2020-09-02T16:46:04.272Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:04.272Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065164323652\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594744000898038&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065164323652&alt=media\",\n \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744000898038\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065164323652\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CPbHua2UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:40.897Z\",\n \"updated\": \"2020-07-14T16:26:40.897Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:40.897Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1754' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2Fnested2%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594744000881954\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CMS23vj1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:04.323Z\",\n \"updated\": \"2020-09-02T16:46:04.323Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:04.323Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065164275702\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594744000881954&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065164275702&alt=media\",\n \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744000881954\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065164275702\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CKLKuK2UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:40.881Z\",\n \"updated\": \"2020-07-14T16:26:40.881Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:40.881Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594744001792736\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CPa/2/j1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:04.275Z\",\n \"updated\": \"2020-09-02T16:46:04.275Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:04.275Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065164271116\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594744001792736&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065164271116&alt=media\",\n \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744001792736\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065164271116\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"COCV8K2UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:41.792Z\",\n \"updated\": \"2020-07-14T16:26:41.792Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:41.792Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1783' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/nested2/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=temp_dir%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.1.json/1594744002488011\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CIyc2/j1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:04.270Z\",\n \"updated\": \"2020-09-02T16:46:04.270Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:04.270Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.1.json/1599065164992884\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json?generation=1594744002488011&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.1.json?generation=1599065164992884&alt=media\",\n \ \"name\": \"temp_dir/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744002488011\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065164992884\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n - \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CMvNmq6UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:42.487Z\",\n \"updated\": \"2020-07-14T16:26:42.487Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:42.487Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.2.json/1594744002590229\",\n + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CPSih/n1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:04.992Z\",\n \"updated\": \"2020-09-02T16:46:04.992Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:04.992Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp_dir/accounts.2.json/1599065165081667\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json?generation=1594744002590229&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp_dir%2Faccounts.2.json?generation=1599065165081667&alt=media\",\n \ \"name\": \"temp_dir/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744002590229\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065165081667\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n - \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CJXsoK6UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:42.590Z\",\n \"updated\": \"2020-07-14T16:26:42.590Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:42.590Z\"\n }\n ]\n}\n" + \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CMPYjPn1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:05.081Z\",\n \"updated\": \"2020-09-02T16:46:05.081Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:05.081Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065164143135\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065164143135&alt=media\",\n + \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065164143135\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CJ+00/j1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:04.142Z\",\n \"updated\": \"2020-09-02T16:46:04.142Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:04.142Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065164274815\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065164274815&alt=media\",\n + \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065164274815\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n + \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CP+42/j1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:04.274Z\",\n \"updated\": \"2020-09-02T16:46:04.274Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:04.274Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1811' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '9401' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=temp_dir/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -4335,40 +4831,51 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_ADyVwfv8iAM_AAMg0k830Z0\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_gMUbjo2Bed4_AAsrtRyjWyM\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:26:44 GMT\r\n\r\n\r\n--batch_ADyVwfv8iAM_AAMg0k830Z0\r\nContent-Type: + Wed, 02 Sep 2020 16:46:06 GMT\r\n\r\n\r\n--batch_gMUbjo2Bed4_AAsrtRyjWyM\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:44 GMT\r\n\r\n\r\n--batch_ADyVwfv8iAM_AAMg0k830Z0\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:06 GMT\r\n\r\n\r\n--batch_gMUbjo2Bed4_AAsrtRyjWyM\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:44 GMT\r\n\r\n\r\n--batch_ADyVwfv8iAM_AAMg0k830Z0\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:06 GMT\r\n\r\n\r\n--batch_gMUbjo2Bed4_AAsrtRyjWyM\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:44 GMT\r\n\r\n\r\n--batch_ADyVwfv8iAM_AAMg0k830Z0\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:06 GMT\r\n\r\n\r\n--batch_gMUbjo2Bed4_AAsrtRyjWyM\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:44 GMT\r\n\r\n\r\n--batch_ADyVwfv8iAM_AAMg0k830Z0\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:06 GMT\r\n\r\n\r\n--batch_gMUbjo2Bed4_AAsrtRyjWyM\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:44 GMT\r\n\r\n\r\n--batch_ADyVwfv8iAM_AAMg0k830Z0\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:06 GMT\r\n\r\n\r\n--batch_gMUbjo2Bed4_AAsrtRyjWyM\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:44 GMT\r\n\r\n\r\n--batch_ADyVwfv8iAM_AAMg0k830Z0\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:06 GMT\r\n\r\n\r\n--batch_gMUbjo2Bed4_AAsrtRyjWyM\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:44 GMT\r\n\r\n\r\n--batch_ADyVwfv8iAM_AAMg0k830Z0\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:06 GMT\r\n\r\n\r\n--batch_gMUbjo2Bed4_AAsrtRyjWyM\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:44 GMT\r\n\r\n\r\n--batch_ADyVwfv8iAM_AAMg0k830Z0\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:06 GMT\r\n\r\n\r\n--batch_gMUbjo2Bed4_AAsrtRyjWyM\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:44 GMT\r\n\r\n\r\n--batch_ADyVwfv8iAM_AAMg0k830Z0\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:06 GMT\r\n\r\n\r\n--batch_gMUbjo2Bed4_AAsrtRyjWyM\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:44 GMT\r\n\r\n\r\n--batch_ADyVwfv8iAM_AAMg0k830Z0--\r\n" - headers: - Cache-Control: private, max-age=0 - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_ADyVwfv8iAM_AAMg0k830Z0 - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:06 GMT\r\n\r\n\r\n--batch_gMUbjo2Bed4_AAsrtRyjWyM--\r\n" + headers: + Cache-Control: + - private, max-age=0 + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_gMUbjo2Bed4_AAsrtRyjWyM + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_info.yaml b/gcsfs/tests/recordings/test_info.yaml index 89630288..c71fe20c 100644 --- a/gcsfs/tests/recordings/test_info.yaml +++ b/gcsfs/tests/recordings/test_info.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAEPcDV8C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP - Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTbbGGvICxlMEKK6irtIzd9LBFmoJnWO5OAvWyck - tSxsKg49AL/As7x+lA+EinX4wf9/OT4eaDG04wAAAA== + H4sIAAPMT18C/4WPsQ7DIBBDfyVibmHP2B+JTnBJUIFD3CGoqvx7Qzt1ymTZsqzntwJrkXkRemJS + 86R67+o2KbaUcfhTknfTLpJ5Nqa1pjeiLSBkz9pSNFBlN+cM1SSsCw5/2a+MxaeVNEbw4bJuA1V3 + zwFkpRIH4Bd4kdeP8oFQsIzcu/8vxwdcFoAW4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:37.245Z\",\n \"updated\": \"2020-07-14T16:24:37.245Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: null @@ -152,10 +136,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUnw8lltQxSSbl4yevgOTRokKHxIpIYH5uOltsSHOqNaOQ6VWkhwkktdMg2XY1_yj8buiYu8wvGwP7NHXDjlmLrQeMDx3w + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uzc6Me2rZnr53sdUUrgmrd4GJ5Phj6b5iJSTRzGW74JeLecbxcS6wFmcyHxmFADV_sYHcmjbNn0Bnq6KYkLgg Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -170,30 +154,38 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUnw8lltQxSSbl4yevgOTRokKHxIpIYH5uOltsSHOqNaOQ6VWkhwkktdMg2XY1_yj8buiYu8wvGwP7NHXDjlmLrQeMDx3w + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uzc6Me2rZnr53sdUUrgmrd4GJ5Phj6b5iJSTRzGW74JeLecbxcS6wFmcyHxmFADV_sYHcmjbNn0Bnq6KYkLgg response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594743878072337\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065092576984\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594743878072337&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065092576984&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743878072337\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065092576984\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n - \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CJHw8PKTzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:38.072Z\",\n \"updated\": \"2020-07-14T16:24:38.072Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:24:38.072Z\"\n}\n" + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CNitw9b1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:44:52.576Z\",\n \"updated\": \"2020-09-02T16:44:52.576Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:44:52.576Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '750' - Content-Type: application/json; charset=UTF-8 - Etag: CJHw8PKTzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '746' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CNitw9b1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUnw8lltQxSSbl4yevgOTRokKHxIpIYH5uOltsSHOqNaOQ6VWkhwkktdMg2XY1_yj8buiYu8wvGwP7NHXDjlmLrQeMDx3w + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uzc6Me2rZnr53sdUUrgmrd4GJ5Phj6b5iJSTRzGW74JeLecbxcS6wFmcyHxmFADV_sYHcmjbNn0Bnq6KYkLgg - request: body: null headers: {} @@ -201,22 +193,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594743878072337\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065092576984\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594743878072337&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065092576984&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743878072337\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065092576984\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n - \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CJHw8PKTzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:38.072Z\",\n \"updated\": \"2020-07-14T16:24:38.072Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:24:38.072Z\"\n}\n" + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CNitw9b1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:44:52.576Z\",\n \"updated\": \"2020-09-02T16:44:52.576Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:44:52.576Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '750' - Content-Type: application/json; charset=UTF-8 - Etag: CJHw8PKTzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '746' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CNitw9b1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -230,11 +229,17 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -246,22 +251,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594743878072337\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065092576984\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594743878072337&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065092576984&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743878072337\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065092576984\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n - \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CJHw8PKTzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:38.072Z\",\n \"updated\": \"2020-07-14T16:24:38.072Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:24:38.072Z\"\n}\n" + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CNitw9b1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:44:52.576Z\",\n \"updated\": \"2020-09-02T16:44:52.576Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:44:52.576Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '750' - Content-Type: application/json; charset=UTF-8 - Etag: CJHw8PKTzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '746' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CNitw9b1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -270,68 +282,36 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"tmp/\"\n - \ ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '64' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=tmp%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"tmp/test/\"\n - \ ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '69' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=tmp/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=tmp%2Ftest%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594743878072337\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065092576984\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594743878072337&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065092576984&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743878072337\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599065092576984\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n \"crc32c\": - \"AAAAAA==\",\n \"etag\": \"CJHw8PKTzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:38.072Z\",\n \"updated\": \"2020-07-14T16:24:38.072Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:24:38.072Z\"\n }\n ]\n}\n" + \"AAAAAA==\",\n \"etag\": \"CNitw9b1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:44:52.576Z\",\n \"updated\": \"2020-09-02T16:44:52.576Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:44:52.576Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '876' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '872' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=tmp/test/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -361,21 +341,33 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_WxB7to7L94k_AAWkeThkf48\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_qMMYidnkHBI_AAG1BMOtPNM\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:24:39 GMT\r\n\r\n\r\n--batch_WxB7to7L94k_AAWkeThkf48--\r\n" + Wed, 02 Sep 2020 16:44:53 GMT\r\n\r\n\r\n--batch_qMMYidnkHBI_AAG1BMOtPNM--\r\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_WxB7to7L94k_AAWkeThkf48 - Pragma: no-cache - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_qMMYidnkHBI_AAG1BMOtPNM + Pragma: + - no-cache + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_iterable.yaml b/gcsfs/tests/recordings/test_iterable.yaml index 32ce8110..1d7dfa43 100644 --- a/gcsfs/tests/recordings/test_iterable.yaml +++ b/gcsfs/tests/recordings/test_iterable.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAP/cDV8C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP - Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTbrIjV/LxFkoZrU2crBq6vWuUotC5uKQ1/mG2MN - eSGDCUIcgF/gWV4/ygdCxTr84P+/HB99IHep4wAAAA== + H4sIAHXMT18C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULnc1K82+NTiHzLPQE7Oe + lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmz23FPLwqbiyOqKb4w15IUMJgjxEneRmr+XCLJQ + TeqUysEPwa/wLK+f5QOhYh198P9fjg+z0wad4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:44.925Z\",\n \"updated\": \"2020-07-14T16:27:44.925Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: null @@ -152,10 +136,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUmDpFtFKGPo-qEZ7Y2dkst5w79-VW0yfqY5PFfRCkQm_RnnQomCaK8URn0DKQSSifteX8YiLXDcYpn1X29lJD4 + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxcF1_X5MNUOfOt8ClT5JMpTot8J0pgxvLSGk-7kP5BSpwZAB3f-YCsC9K_B-OIkSzIkrh3A_NOFzHgD2mo9rbBns6y9g Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -172,30 +156,38 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUmDpFtFKGPo-qEZ7Y2dkst5w79-VW0yfqY5PFfRCkQm_RnnQomCaK8URn0DKQSSifteX8YiLXDcYpn1X29lJD4 + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxcF1_X5MNUOfOt8ClT5JMpTot8J0pgxvLSGk-7kP5BSpwZAB3f-YCsC9K_B-OIkSzIkrh3A_NOFzHgD2mo9rbBns6y9g response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594744065871606\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065206935385\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744065871606&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065206935385&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744065871606\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065206935385\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"7\",\n \"md5Hash\": \"Ct0kHHIwoO7B0dUWsMUiZA==\",\n - \ \"crc32c\": \"mVuMZQ==\",\n \"etag\": \"CPadt8yUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:45.871Z\",\n \"updated\": \"2020-07-14T16:27:45.871Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:45.871Z\"\n}\n" + \ \"crc32c\": \"mVuMZQ==\",\n \"etag\": \"CNmeh432yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:46.935Z\",\n \"updated\": \"2020-09-02T16:46:46.935Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:46.935Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '750' - Content-Type: application/json; charset=UTF-8 - Etag: CPadt8yUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '746' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CNmeh432yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUmDpFtFKGPo-qEZ7Y2dkst5w79-VW0yfqY5PFfRCkQm_RnnQomCaK8URn0DKQSSifteX8YiLXDcYpn1X29lJD4 + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxcF1_X5MNUOfOt8ClT5JMpTot8J0pgxvLSGk-7kP5BSpwZAB3f-YCsC9K_B-OIkSzIkrh3A_NOFzHgD2mo9rbBns6y9g - request: body: null headers: {} @@ -203,22 +195,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594744065871606\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065206935385\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744065871606&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065206935385&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744065871606\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065206935385\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"7\",\n \"md5Hash\": \"Ct0kHHIwoO7B0dUWsMUiZA==\",\n - \ \"crc32c\": \"mVuMZQ==\",\n \"etag\": \"CPadt8yUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:45.871Z\",\n \"updated\": \"2020-07-14T16:27:45.871Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:45.871Z\"\n}\n" + \ \"crc32c\": \"mVuMZQ==\",\n \"etag\": \"CNmeh432yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:46.935Z\",\n \"updated\": \"2020-09-02T16:46:46.935Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:46.935Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '750' - Content-Type: application/json; charset=UTF-8 - Etag: CPadt8yUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '746' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CNmeh432yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -229,29 +228,42 @@ interactions: Range: - bytes=0-6 method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?alt=media&generation=1594744065871606 + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?alt=media&generation=1599065206935385 response: body: string: 'abc 123' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '7' - Content-Range: bytes 0-6/7 - Content-Type: application/octet-stream - Etag: CPadt8yUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744065871606' - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '7' + Content-Range: + - bytes 0-6/7 + Content-Type: + - application/octet-stream + Etag: + - CNmeh432yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065206935385' + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 206 message: Partial Content - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744065871606&alt=media + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065206935385&alt=media - request: body: null headers: {} @@ -259,22 +271,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594744065871606\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065206935385\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744065871606&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065206935385&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744065871606\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065206935385\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"7\",\n \"md5Hash\": \"Ct0kHHIwoO7B0dUWsMUiZA==\",\n - \ \"crc32c\": \"mVuMZQ==\",\n \"etag\": \"CPadt8yUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:45.871Z\",\n \"updated\": \"2020-07-14T16:27:45.871Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:45.871Z\"\n}\n" + \ \"crc32c\": \"mVuMZQ==\",\n \"etag\": \"CNmeh432yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:46.935Z\",\n \"updated\": \"2020-09-02T16:46:46.935Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:46.935Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '750' - Content-Type: application/json; charset=UTF-8 - Etag: CPadt8yUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '746' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CNmeh432yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -285,29 +304,42 @@ interactions: Range: - bytes=0-6 method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?alt=media&generation=1594744065871606 + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?alt=media&generation=1599065206935385 response: body: string: 'abc 123' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '7' - Content-Range: bytes 0-6/7 - Content-Type: application/octet-stream - Etag: CPadt8yUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744065871606' - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '7' + Content-Range: + - bytes 0-6/7 + Content-Type: + - application/octet-stream + Etag: + - CNmeh432yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065206935385' + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 206 message: Partial Content - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744065871606&alt=media + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065206935385&alt=media - request: body: null headers: {} @@ -315,22 +347,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594744065871606\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065206935385\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744065871606&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065206935385&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744065871606\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065206935385\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"7\",\n \"md5Hash\": \"Ct0kHHIwoO7B0dUWsMUiZA==\",\n - \ \"crc32c\": \"mVuMZQ==\",\n \"etag\": \"CPadt8yUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:45.871Z\",\n \"updated\": \"2020-07-14T16:27:45.871Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:45.871Z\"\n}\n" + \ \"crc32c\": \"mVuMZQ==\",\n \"etag\": \"CNmeh432yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:46.935Z\",\n \"updated\": \"2020-09-02T16:46:46.935Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:46.935Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '750' - Content-Type: application/json; charset=UTF-8 - Etag: CPadt8yUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '746' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CNmeh432yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -341,95 +380,76 @@ interactions: Range: - bytes=0-6 method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?alt=media&generation=1594744065871606 + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?alt=media&generation=1599065206935385 response: body: string: 'abc 123' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '7' - Content-Range: bytes 0-6/7 - Content-Type: application/octet-stream - Etag: CPadt8yUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744065871606' - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '7' + Content-Range: + - bytes 0-6/7 + Content-Type: + - application/octet-stream + Etag: + - CNmeh432yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065206935385' + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 206 message: Partial Content - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744065871606&alt=media -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"tmp/\"\n - \ ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '64' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065206935385&alt=media - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=tmp%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"tmp/test/\"\n - \ ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '69' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=tmp/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=tmp%2Ftest%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594744065871606\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065206935385\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744065871606&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065206935385&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744065871606\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599065206935385\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"7\",\n \"md5Hash\": \"Ct0kHHIwoO7B0dUWsMUiZA==\",\n \"crc32c\": - \"mVuMZQ==\",\n \"etag\": \"CPadt8yUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:45.871Z\",\n \"updated\": \"2020-07-14T16:27:45.871Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:45.871Z\"\n }\n ]\n}\n" + \"mVuMZQ==\",\n \"etag\": \"CNmeh432yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:46.935Z\",\n \"updated\": \"2020-09-02T16:46:46.935Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:46.935Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '876' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '872' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=tmp/test/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -459,21 +479,33 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_wLBFifn2FA8_AAnYLO4fq5k\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_TZijbxHlmBU_AAEFQw7bTaQ\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:27:47 GMT\r\n\r\n\r\n--batch_wLBFifn2FA8_AAnYLO4fq5k--\r\n" + Wed, 02 Sep 2020 16:46:47 GMT\r\n\r\n\r\n--batch_TZijbxHlmBU_AAEFQw7bTaQ--\r\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_wLBFifn2FA8_AAnYLO4fq5k - Pragma: no-cache - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_TZijbxHlmBU_AAEFQw7bTaQ + Pragma: + - no-cache + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_ls.yaml b/gcsfs/tests/recordings/test_ls.yaml index 6a6f13c0..ee1aeedb 100644 --- a/gcsfs/tests/recordings/test_ls.yaml +++ b/gcsfs/tests/recordings/test_ls.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAHPcDV8C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULne1I82+NTiHzLPQE7Oe - lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmzWRWr+XiLIQjWpk8rBqyuqMdaQFzKYIMTL+SlJ - LQubiiMPwa/wLK+f5QOhYh198P9fjg+YY4lN4wAAAA== + H4sIAB/MT18C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULne1I82+NTiHzLPQE7Oe + lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmz25KllYVNxZHViOXh1hblIzd9LBFmopst5Y6wh + L2QwQYhD8Cs8y+tn+UCoWEcf/P+X4wMEC22h4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:24.907Z\",\n \"updated\": \"2020-07-14T16:25:24.907Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: '--==0== @@ -168,24 +152,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594743925303390\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065120628428\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594743925303390&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065120628428&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743925303390\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065120628428\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"CN7Qs4mUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:25:25.303Z\",\n - \ \"updated\": \"2020-07-14T16:25:25.303Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:25:25.303Z\"\n}\n" + \ \"etag\": \"CMy98+P1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:20.628Z\",\n + \ \"updated\": \"2020-09-02T16:45:20.628Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:20.628Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CN7Qs4mUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CMy98+P1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -196,20 +188,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "test/accounts.2.json"} + {"name": "nested/nested2/file1"} --==0== Content-Type: application/octet-stream - {"amount": 500, "name": "Alice"} - - {"amount": 600, "name": "Bob"} - - {"amount": 700, "name": "Charlie"} - - {"amount": 800, "name": "Dennis"} + hello --==0==--' @@ -220,24 +206,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594743925316953\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594743925316953&alt=media\",\n - \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743925316953\",\n \"metageneration\": \"1\",\n \"contentType\": + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065120720887\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065120720887&alt=media\",\n + \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065120720887\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n - \ \"etag\": \"CNm6tImUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:25:25.316Z\",\n - \ \"updated\": \"2020-07-14T16:25:25.316Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:25:25.316Z\"\n}\n" + \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n \"crc32c\": \"NT3Yvg==\",\n + \ \"etag\": \"CPeP+eP1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:20.720Z\",\n + \ \"updated\": \"2020-09-02T16:45:20.720Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:20.720Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CNm6tImUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CPeP+eP1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -248,14 +242,20 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/file1"} + {"name": "2014-01-01.csv"} --==0== Content-Type: application/octet-stream - hello + name,amount,id + + Alice,100,1 + + Bob,200,2 + + Charlie,300,3 --==0==--' @@ -266,23 +266,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1594743925390007\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594743925390007&alt=media\",\n - \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743925390007\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CLf1uImUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:25.389Z\",\n \"updated\": \"2020-07-14T16:25:25.389Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:25.389Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065120735168\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065120735168&alt=media\",\n + \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065120735168\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CMD/+eP1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:20.735Z\",\n \"updated\": \"2020-09-02T16:45:20.735Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:20.735Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CLf1uImUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CMD/+eP1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -293,7 +301,7 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-01.csv"} + {"name": "2014-01-02.csv"} --==0== @@ -302,12 +310,6 @@ interactions: name,amount,id - Alice,100,1 - - Bob,200,2 - - Charlie,300,3 - --==0==--' headers: @@ -317,23 +319,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1594743925391688\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594743925391688&alt=media\",\n - \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743925391688\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CMiCuYmUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:25.391Z\",\n \"updated\": \"2020-07-14T16:25:25.391Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:25.391Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065120743889\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065120743889&alt=media\",\n + \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065120743889\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CNHD+uP1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:20.743Z\",\n \"updated\": \"2020-09-02T16:45:20.743Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:20.743Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CMiCuYmUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CNHD+uP1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -344,20 +354,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-03.csv"} + {"name": "nested/file1"} --==0== Content-Type: application/octet-stream - name,amount,id - - Dennis,400,4 - - Edith,500,5 - - Frank,600,6 + hello --==0==--' @@ -368,23 +372,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594743925406302\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594743925406302&alt=media\",\n - \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743925406302\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CN70uYmUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:25.406Z\",\n \"updated\": \"2020-07-14T16:25:25.406Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:25.406Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065120744443\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065120744443&alt=media\",\n + \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065120744443\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CPvH+uP1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:20.744Z\",\n \"updated\": \"2020-09-02T16:45:20.744Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:20.744Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CN70uYmUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CPvH+uP1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -395,7 +407,7 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/nested2/file2"} + {"name": "nested/file2"} --==0== @@ -412,24 +424,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594743925409198\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594743925409198&alt=media\",\n - \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743925409198\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n \"crc32c\": \"MaqBTg==\",\n - \ \"etag\": \"CK6LuomUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:25:25.409Z\",\n - \ \"updated\": \"2020-07-14T16:25:25.409Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:25:25.409Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065120765061\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065120765061&alt=media\",\n + \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065120765061\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CIXp++P1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:20.764Z\",\n \"updated\": \"2020-09-02T16:45:20.764Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:20.764Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: CK6LuomUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CIXp++P1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -440,14 +459,20 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/nested2/file1"} + {"name": "test/accounts.2.json"} --==0== Content-Type: application/octet-stream - hello + {"amount": 500, "name": "Alice"} + + {"amount": 600, "name": "Bob"} + + {"amount": 700, "name": "Charlie"} + + {"amount": 800, "name": "Dennis"} --==0==--' @@ -458,24 +483,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594743925439623\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594743925439623&alt=media\",\n - \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743925439623\",\n \"metageneration\": \"1\",\n \"contentType\": + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065120812872\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065120812872&alt=media\",\n + \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065120812872\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n \"crc32c\": \"NT3Yvg==\",\n - \ \"etag\": \"CIf5u4mUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:25:25.439Z\",\n - \ \"updated\": \"2020-07-14T16:25:25.439Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:25:25.439Z\"\n}\n" + \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n + \ \"etag\": \"CMje/uP1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:20.812Z\",\n + \ \"updated\": \"2020-09-02T16:45:20.812Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:20.812Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: CIf5u4mUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CMje/uP1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -486,7 +519,7 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/file2"} + {"name": "nested/nested2/file2"} --==0== @@ -503,23 +536,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594743925456848\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594743925456848&alt=media\",\n - \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743925456848\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CND/vImUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:25.456Z\",\n \"updated\": \"2020-07-14T16:25:25.456Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:25.456Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065120855923\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065120855923&alt=media\",\n + \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065120855923\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n \"crc32c\": \"MaqBTg==\",\n + \ \"etag\": \"CPOugeT1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:20.855Z\",\n + \ \"updated\": \"2020-09-02T16:45:20.855Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:20.855Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CND/vImUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CPOugeT1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -530,7 +572,7 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-02.csv"} + {"name": "2014-01-03.csv"} --==0== @@ -539,6 +581,12 @@ interactions: name,amount,id + Dennis,400,4 + + Edith,500,5 + + Frank,600,6 + --==0==--' headers: @@ -548,23 +596,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594743926390945\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594743926390945&alt=media\",\n - \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743926390945\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CKGB9omUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:26.390Z\",\n \"updated\": \"2020-07-14T16:25:26.390Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:26.390Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065121760319\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065121760319&alt=media\",\n + \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065121760319\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CL/IuOT1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:21.760Z\",\n \"updated\": \"2020-09-02T16:45:21.760Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:21.760Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CKGB9omUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CL/IuOT1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -583,10 +639,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUkIniH4LOMXylZmCrOLx8PwqpIGrcXo-ITVwDiGFHWcL1bNXk7ISbwfSo8Cc3CvxKiqit3YgpGEsobGwUg8-gY + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UyPI15VstDeLPMKCmx43LWUVVagsUBFZ8sie3RYJZVzIQ-Q66i_kmOmNVqv3L_RC7Vzjmb0zZDi5uBzMk-3fwWixGrKww Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -601,30 +657,38 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUkIniH4LOMXylZmCrOLx8PwqpIGrcXo-ITVwDiGFHWcL1bNXk7ISbwfSo8Cc3CvxKiqit3YgpGEsobGwUg8-gY + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UyPI15VstDeLPMKCmx43LWUVVagsUBFZ8sie3RYJZVzIQ-Q66i_kmOmNVqv3L_RC7Vzjmb0zZDi5uBzMk-3fwWixGrKww response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1594743927208710\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065122293229\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594743927208710&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065122293229&alt=media\",\n \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743927208710\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065122293229\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n - \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CIb2p4qUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:27.208Z\",\n \"updated\": \"2020-07-14T16:25:27.208Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:27.208Z\"\n}\n" + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CO2L2eT1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:22.293Z\",\n \"updated\": \"2020-09-02T16:45:22.293Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:22.293Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CIb2p4qUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CO2L2eT1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUkIniH4LOMXylZmCrOLx8PwqpIGrcXo-ITVwDiGFHWcL1bNXk7ISbwfSo8Cc3CvxKiqit3YgpGEsobGwUg8-gY + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UyPI15VstDeLPMKCmx43LWUVVagsUBFZ8sie3RYJZVzIQ-Q66i_kmOmNVqv3L_RC7Vzjmb0zZDi5uBzMk-3fwWixGrKww - request: body: null headers: {} @@ -634,42 +698,48 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/\",\n \ \"test/\"\n ],\n \"items\": [\n {\n \"kind\": \"storage#object\",\n - \ \"id\": \"gcsfs-testing/2014-01-01.csv/1594743925391688\",\n \"selfLink\": + \ \"id\": \"gcsfs-testing/2014-01-01.csv/1599065120735168\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594743925391688&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065120735168&alt=media\",\n \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743925391688\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065120735168\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CMiCuYmUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:25.391Z\",\n \"updated\": \"2020-07-14T16:25:25.391Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:25.391Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594743926390945\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CMD/+eP1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:20.735Z\",\n \"updated\": \"2020-09-02T16:45:20.735Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:20.735Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065120743889\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594743926390945&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065120743889&alt=media\",\n \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743926390945\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065120743889\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CKGB9omUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:26.390Z\",\n \"updated\": \"2020-07-14T16:25:26.390Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:26.390Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594743925406302\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CNHD+uP1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:20.743Z\",\n \"updated\": \"2020-09-02T16:45:20.743Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:20.743Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065121760319\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594743925406302&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065121760319&alt=media\",\n \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743925406302\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065121760319\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CN70uYmUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:25.406Z\",\n \"updated\": \"2020-07-14T16:25:25.406Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:25.406Z\"\n }\n ]\n}\n" + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CL/IuOT1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:21.760Z\",\n \"updated\": \"2020-09-02T16:45:21.760Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:21.760Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '2605' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '2593' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -683,31 +753,37 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/nested2/\"\n \ ],\n \"items\": [\n {\n \"kind\": \"storage#object\",\n \"id\": - \"gcsfs-testing/nested/file1/1594743927208710\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594743927208710&alt=media\",\n + \"gcsfs-testing/nested/file1/1599065122293229\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065122293229&alt=media\",\n \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743927208710\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065122293229\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n - \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CIb2p4qUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:27.208Z\",\n \"updated\": \"2020-07-14T16:25:27.208Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:27.208Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594743925456848\",\n + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CO2L2eT1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:22.293Z\",\n \"updated\": \"2020-09-02T16:45:22.293Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:22.293Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065120765061\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594743925456848&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065120765061&alt=media\",\n \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743925456848\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065120765061\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CND/vImUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:25.456Z\",\n \"updated\": \"2020-07-14T16:25:25.456Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:25.456Z\"\n }\n ]\n}\n" + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CIXp++P1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:20.764Z\",\n \"updated\": \"2020-09-02T16:45:20.764Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:20.764Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1754' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '1746' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -716,78 +792,116 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2Fnested2%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594743925439623\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065120735168\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065120735168&alt=media\",\n + \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065120735168\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CMD/+eP1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:20.735Z\",\n \"updated\": \"2020-09-02T16:45:20.735Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:20.735Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065120743889\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065120743889&alt=media\",\n + \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065120743889\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CNHD+uP1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:20.743Z\",\n \"updated\": \"2020-09-02T16:45:20.743Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:20.743Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065121760319\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065121760319&alt=media\",\n + \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065121760319\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CL/IuOT1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:21.760Z\",\n \"updated\": \"2020-09-02T16:45:21.760Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:21.760Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065122293229\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065122293229&alt=media\",\n + \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065122293229\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CO2L2eT1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:22.293Z\",\n \"updated\": \"2020-09-02T16:45:22.293Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:22.293Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065120765061\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065120765061&alt=media\",\n + \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065120765061\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CIXp++P1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:20.764Z\",\n \"updated\": \"2020-09-02T16:45:20.764Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:20.764Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065120720887\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594743925439623&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065120720887&alt=media\",\n \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743925439623\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065120720887\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CIf5u4mUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:25.439Z\",\n \"updated\": \"2020-07-14T16:25:25.439Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:25.439Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594743925409198\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CPeP+eP1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:20.720Z\",\n \"updated\": \"2020-09-02T16:45:20.720Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:20.720Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065120855923\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594743925409198&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065120855923&alt=media\",\n \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743925409198\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065120855923\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CK6LuomUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:25.409Z\",\n \"updated\": \"2020-07-14T16:25:25.409Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:25.409Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1783' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/nested2/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=test%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594743925303390\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CPOugeT1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:20.855Z\",\n \"updated\": \"2020-09-02T16:45:20.855Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:20.855Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065120628428\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594743925303390&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065120628428&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743925303390\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065120628428\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n - \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CN7Qs4mUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:25.303Z\",\n \"updated\": \"2020-07-14T16:25:25.303Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:25.303Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594743925316953\",\n + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CMy98+P1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:20.628Z\",\n \"updated\": \"2020-09-02T16:45:20.628Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:20.628Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065120812872\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594743925316953&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065120812872&alt=media\",\n \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743925316953\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065120812872\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n - \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CNm6tImUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:25.316Z\",\n \"updated\": \"2020-07-14T16:25:25.316Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:25.316Z\"\n }\n ]\n}\n" + \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CMje/uP1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:20.812Z\",\n \"updated\": \"2020-09-02T16:45:20.812Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:20.812Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1779' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '7647' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=test/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -961,36 +1075,47 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_FGl50dYKoKM_AAjHwH2_E-c\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_7tX6VjUS-XQ_AAGKbaiOfS0\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:25:28 GMT\r\n\r\n\r\n--batch_FGl50dYKoKM_AAjHwH2_E-c\r\nContent-Type: + Wed, 02 Sep 2020 16:45:23 GMT\r\n\r\n\r\n--batch_7tX6VjUS-XQ_AAGKbaiOfS0\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:28 GMT\r\n\r\n\r\n--batch_FGl50dYKoKM_AAjHwH2_E-c\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:23 GMT\r\n\r\n\r\n--batch_7tX6VjUS-XQ_AAGKbaiOfS0\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:28 GMT\r\n\r\n\r\n--batch_FGl50dYKoKM_AAjHwH2_E-c\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:23 GMT\r\n\r\n\r\n--batch_7tX6VjUS-XQ_AAGKbaiOfS0\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:28 GMT\r\n\r\n\r\n--batch_FGl50dYKoKM_AAjHwH2_E-c\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:23 GMT\r\n\r\n\r\n--batch_7tX6VjUS-XQ_AAGKbaiOfS0\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:28 GMT\r\n\r\n\r\n--batch_FGl50dYKoKM_AAjHwH2_E-c\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:23 GMT\r\n\r\n\r\n--batch_7tX6VjUS-XQ_AAGKbaiOfS0\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:28 GMT\r\n\r\n\r\n--batch_FGl50dYKoKM_AAjHwH2_E-c\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:23 GMT\r\n\r\n\r\n--batch_7tX6VjUS-XQ_AAGKbaiOfS0\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:28 GMT\r\n\r\n\r\n--batch_FGl50dYKoKM_AAjHwH2_E-c\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:23 GMT\r\n\r\n\r\n--batch_7tX6VjUS-XQ_AAGKbaiOfS0\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:28 GMT\r\n\r\n\r\n--batch_FGl50dYKoKM_AAjHwH2_E-c\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:23 GMT\r\n\r\n\r\n--batch_7tX6VjUS-XQ_AAGKbaiOfS0\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:28 GMT\r\n\r\n\r\n--batch_FGl50dYKoKM_AAjHwH2_E-c--\r\n" - headers: - Cache-Control: private, max-age=0 - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_FGl50dYKoKM_AAjHwH2_E-c - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:23 GMT\r\n\r\n\r\n--batch_7tX6VjUS-XQ_AAGKbaiOfS0--\r\n" + headers: + Cache-Control: + - private, max-age=0 + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_7tX6VjUS-XQ_AAGKbaiOfS0 + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_ls2.yaml b/gcsfs/tests/recordings/test_ls2.yaml index 2274fb13..2b38f0d1 100644 --- a/gcsfs/tests/recordings/test_ls2.yaml +++ b/gcsfs/tests/recordings/test_ls2.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAEfcDV8C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP - Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTZ79qllYVNxaHWVb4w15IUMJghRnSs5+MuWi9T8 - vUSQhWoagF/gWV4/ygdCxTr84P+/HB+fT0zw4wAAAA== + H4sIAAXMT18C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP + Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTbbGGvICxlMEKK6irtIzd9LBFmoJnWO5OAvWyck + tSxsKg49AL/As7x+lA+EinX4wf9/OT4eaDG04wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:41.346Z\",\n \"updated\": \"2020-07-14T16:24:41.346Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: null @@ -178,35 +162,11 @@ interactions: \ \"etag\": \"CAE=\",\n \"timeCreated\": \"2017-09-14T18:55:42.848Z\",\n \ \"updated\": \"2017-09-14T18:55:42.848Z\",\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-tester\",\n \"id\": \"gcsfs-tester\",\n - \ \"name\": \"gcsfs-tester\",\n \"projectNumber\": \"586241054156\",\n - \ \"metageneration\": \"1\",\n \"location\": \"US\",\n \"storageClass\": - \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": \"2020-07-08T18:43:14.054Z\",\n - \ \"updated\": \"2020-07-08T18:43:14.054Z\",\n \"iamConfiguration\": - {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n - \ \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n - \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": - \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:41.346Z\",\n \"updated\": \"2020-07-14T16:24:41.346Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-tester3\",\n - \ \"id\": \"gcsfs-tester3\",\n \"name\": \"gcsfs-tester3\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-07T21:07:25.637Z\",\n \"updated\": \"2020-07-07T21:07:25.637Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testerer\",\n - \ \"id\": \"gcsfs-testerer\",\n \"name\": \"gcsfs-testerer\",\n \"projectNumber\": + \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n \"id\": + \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-06T16:25:54.924Z\",\n \"updated\": \"2020-07-06T16:25:54.924Z\",\n + \"2020-09-02T15:40:10.048Z\",\n \"updated\": \"2020-09-02T15:40:10.048Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n },\n @@ -221,19 +181,25 @@ interactions: \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/mdtemp\",\n \ \"id\": \"mdtemp\",\n \"name\": \"mdtemp\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"2\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAI=\",\n \"timeCreated\": - \"2018-04-10T01:17:29.182Z\",\n \"updated\": \"2018-05-10T16:59:01.351Z\",\n + \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n + \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": + \"2020-08-31T21:13:48.793Z\",\n \"updated\": \"2020-08-31T21:13:48.793Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n }\n \ ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '6406' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '4486' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -249,12 +215,19 @@ interactions: \ \"errors\": [\n {\n \"message\": \"Not Found\",\n \"domain\": \"global\",\n \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '193' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '193' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found @@ -273,10 +246,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUmSE9bwSul_dlstGGfngOgUNRYslG7fEj7lDtmW8o4HU0HSY7rJqm17e_bkxPjrzuEbLGi9s_wYif7tPo1FLMGZFki0Tw + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UwZ5a6ZKRxkNZFzOHzK3ZGXzkiXW14sa82SKJQ6gANN13xb6gtNZBtf3dFwWr7BxGiiuYSmaNVbgpOQsgEJcg Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -291,31 +264,39 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUmSE9bwSul_dlstGGfngOgUNRYslG7fEj7lDtmW8o4HU0HSY7rJqm17e_bkxPjrzuEbLGi9s_wYif7tPo1FLMGZFki0Tw + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UwZ5a6ZKRxkNZFzOHzK3ZGXzkiXW14sa82SKJQ6gANN13xb6gtNZBtf3dFwWr7BxGiiuYSmaNVbgpOQsgEJcg response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594743882471850\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065095057744\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594743882471850&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065095057744&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743882471850\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065095057744\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n \"crc32c\": \"AAAAAA==\",\n - \ \"etag\": \"CKqz/fSTzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:24:42.471Z\",\n - \ \"updated\": \"2020-07-14T16:24:42.471Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:24:42.471Z\"\n}\n" + \ \"etag\": \"CNDi2tf1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:44:55.057Z\",\n + \ \"updated\": \"2020-09-02T16:44:55.057Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:44:55.057Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '786' - Content-Type: application/json; charset=UTF-8 - Etag: CKqz/fSTzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '782' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CNDi2tf1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUmSE9bwSul_dlstGGfngOgUNRYslG7fEj7lDtmW8o4HU0HSY7rJqm17e_bkxPjrzuEbLGi9s_wYif7tPo1FLMGZFki0Tw + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UwZ5a6ZKRxkNZFzOHzK3ZGXzkiXW14sa82SKJQ6gANN13xb6gtNZBtf3dFwWr7BxGiiuYSmaNVbgpOQsgEJcg - request: body: null headers: {} @@ -324,22 +305,28 @@ interactions: response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594743882471850\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065095057744\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594743882471850&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065095057744&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743882471850\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065095057744\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n - \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CKqz/fSTzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:42.471Z\",\n \"updated\": \"2020-07-14T16:24:42.471Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:24:42.471Z\"\n }\n ]\n}\n" + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CNDi2tf1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:44:55.057Z\",\n \"updated\": \"2020-09-02T16:44:55.057Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:44:55.057Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '912' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '908' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -348,21 +335,36 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"test/\"\n - \ ]\n}\n" + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065095057744\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065095057744&alt=media\",\n + \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065095057744\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CNDi2tf1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:44:55.057Z\",\n \"updated\": \"2020-09-02T16:44:55.057Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:44:55.057Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '65' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '908' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -392,21 +394,33 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_haC7oRiAE0I_AAQTwUOo6Ao\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_nSEokx7GUFc_AALMTF-1OB4\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:24:43 GMT\r\n\r\n\r\n--batch_haC7oRiAE0I_AAQTwUOo6Ao--\r\n" + Wed, 02 Sep 2020 16:44:55 GMT\r\n\r\n\r\n--batch_nSEokx7GUFc_AALMTF-1OB4--\r\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_haC7oRiAE0I_AAQTwUOo6Ao - Pragma: no-cache - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_nSEokx7GUFc_AALMTF-1OB4 + Pragma: + - no-cache + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_ls_detail.yaml b/gcsfs/tests/recordings/test_ls_detail.yaml index ec2b81cf..4177f396 100644 --- a/gcsfs/tests/recordings/test_ls_detail.yaml +++ b/gcsfs/tests/recordings/test_ls_detail.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAHncDV8C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULnc10s6+NTiHzLPQE7Oe - lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmzWRWr+XiLIQjWpK/yco5aFTcWRL/nGWENeyGCC - ENUplYMfgl/hWV4/ywdCxTr64P+/HB90ZZ3Z4wAAAA== + H4sIACPMT18C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP + Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTbbGGvICxlMEKK6irtIzd9LBFmoJnWO5OAvWyck + tSxsKg49AL/As7x+lA+EinX4wf9/OT4eaDG04wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:30.574Z\",\n \"updated\": \"2020-07-14T16:25:30.574Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: '--==0== @@ -168,24 +152,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594743930917428\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065124519407\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594743930917428&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065124519407&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743930917428\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065124519407\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"CLSkioyUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:25:30.917Z\",\n - \ \"updated\": \"2020-07-14T16:25:30.917Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:25:30.917Z\"\n}\n" + \ \"etag\": \"CO/74OX1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:24.519Z\",\n + \ \"updated\": \"2020-09-02T16:45:24.519Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:24.519Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CLSkioyUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CO/74OX1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -196,14 +188,15 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/nested2/file2"} + {"name": "nested/file1"} --==0== Content-Type: application/octet-stream - world + hello + --==0==--' headers: @@ -213,24 +206,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594743931004123\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594743931004123&alt=media\",\n - \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743931004123\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n \"crc32c\": \"MaqBTg==\",\n - \ \"etag\": \"CNvJj4yUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:25:31.003Z\",\n - \ \"updated\": \"2020-07-14T16:25:31.003Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:25:31.003Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065124611604\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065124611604&alt=media\",\n + \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065124611604\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CJTM5uX1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:24.611Z\",\n \"updated\": \"2020-09-02T16:45:24.611Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:24.611Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: CNvJj4yUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CJTM5uX1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -241,20 +241,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "test/accounts.2.json"} + {"name": "2014-01-02.csv"} --==0== Content-Type: application/octet-stream - {"amount": 500, "name": "Alice"} - - {"amount": 600, "name": "Bob"} - - {"amount": 700, "name": "Charlie"} - - {"amount": 800, "name": "Dennis"} + name,amount,id --==0==--' @@ -265,24 +259,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594743931036893\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594743931036893&alt=media\",\n - \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743931036893\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n - \ \"etag\": \"CN3JkYyUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:25:31.036Z\",\n - \ \"updated\": \"2020-07-14T16:25:31.036Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:25:31.036Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065124624110\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065124624110&alt=media\",\n + \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065124624110\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CO6t5+X1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:24.623Z\",\n \"updated\": \"2020-09-02T16:45:24.623Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:24.623Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CN3JkYyUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CO6t5+X1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -293,14 +294,21 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/file2"} + {"name": "2014-01-01.csv"} --==0== Content-Type: application/octet-stream - world + name,amount,id + + Alice,100,1 + + Bob,200,2 + + Charlie,300,3 + --==0==--' headers: @@ -310,23 +318,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594743931093667\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594743931093667&alt=media\",\n - \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743931093667\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CKOFlYyUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:31.093Z\",\n \"updated\": \"2020-07-14T16:25:31.093Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:31.093Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065124625808\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065124625808&alt=media\",\n + \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065124625808\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CJC75+X1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:24.625Z\",\n \"updated\": \"2020-09-02T16:45:24.625Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:24.625Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CKOFlYyUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CJC75+X1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -337,21 +353,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-01.csv"} + {"name": "nested/nested2/file2"} --==0== Content-Type: application/octet-stream - name,amount,id - - Alice,100,1 - - Bob,200,2 - - Charlie,300,3 - + world --==0==--' headers: @@ -361,23 +370,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1594743931092928\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594743931092928&alt=media\",\n - \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743931092928\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CMD/lIyUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:31.092Z\",\n \"updated\": \"2020-07-14T16:25:31.092Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:31.092Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065124637689\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065124637689&alt=media\",\n + \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065124637689\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n \"crc32c\": \"MaqBTg==\",\n + \ \"etag\": \"CPmX6OX1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:24.637Z\",\n + \ \"updated\": \"2020-09-02T16:45:24.637Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:24.637Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CMD/lIyUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CPmX6OX1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -388,15 +406,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/nested2/file1"} + {"name": "nested/file2"} --==0== Content-Type: application/octet-stream - hello - + world --==0==--' headers: @@ -406,24 +423,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594743931994638\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594743931994638&alt=media\",\n - \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743931994638\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n \"crc32c\": \"NT3Yvg==\",\n - \ \"etag\": \"CI6EzIyUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:25:31.994Z\",\n - \ \"updated\": \"2020-07-14T16:25:31.994Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:25:31.994Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065124638826\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065124638826&alt=media\",\n + \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065124638826\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"COqg6OX1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:24.638Z\",\n \"updated\": \"2020-09-02T16:45:24.638Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:24.638Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: CI6EzIyUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - COqg6OX1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -434,20 +458,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-03.csv"} + {"name": "nested/nested2/file1"} --==0== Content-Type: application/octet-stream - name,amount,id - - Dennis,400,4 - - Edith,500,5 - - Frank,600,6 + hello --==0==--' @@ -458,23 +476,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594743932014142\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594743932014142&alt=media\",\n - \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743932014142\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CL6czYyUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:32.013Z\",\n \"updated\": \"2020-07-14T16:25:32.013Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:32.013Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065124639526\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065124639526&alt=media\",\n + \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065124639526\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n \"crc32c\": \"NT3Yvg==\",\n + \ \"etag\": \"CKam6OX1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:24.639Z\",\n + \ \"updated\": \"2020-09-02T16:45:24.639Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:24.639Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CL6czYyUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CKam6OX1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -485,14 +512,20 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/file1"} + {"name": "test/accounts.2.json"} --==0== Content-Type: application/octet-stream - hello + {"amount": 500, "name": "Alice"} + + {"amount": 600, "name": "Bob"} + + {"amount": 700, "name": "Charlie"} + + {"amount": 800, "name": "Dennis"} --==0==--' @@ -503,23 +536,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1594743932009478\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594743932009478&alt=media\",\n - \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743932009478\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CIb4zIyUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:32.009Z\",\n \"updated\": \"2020-07-14T16:25:32.009Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:32.009Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065124662809\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065124662809&alt=media\",\n + \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065124662809\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n + \ \"etag\": \"CJnc6eX1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:24.662Z\",\n + \ \"updated\": \"2020-09-02T16:45:24.662Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:24.662Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CIb4zIyUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CJnc6eX1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -530,7 +572,7 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-02.csv"} + {"name": "2014-01-03.csv"} --==0== @@ -539,6 +581,12 @@ interactions: name,amount,id + Dennis,400,4 + + Edith,500,5 + + Frank,600,6 + --==0==--' headers: @@ -548,23 +596,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594743932010129\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594743932010129&alt=media\",\n - \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743932010129\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CJH9zIyUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:32.009Z\",\n \"updated\": \"2020-07-14T16:25:32.009Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:32.009Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065125636474\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065125636474&alt=media\",\n + \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065125636474\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CPqSpeb1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:25.636Z\",\n \"updated\": \"2020-09-02T16:45:25.636Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:25.636Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CJH9zIyUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CPqSpeb1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -578,31 +634,37 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/nested2/\"\n \ ],\n \"items\": [\n {\n \"kind\": \"storage#object\",\n \"id\": - \"gcsfs-testing/nested/file1/1594743932009478\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594743932009478&alt=media\",\n + \"gcsfs-testing/nested/file1/1599065124611604\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065124611604&alt=media\",\n \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743932009478\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065124611604\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CIb4zIyUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:32.009Z\",\n \"updated\": \"2020-07-14T16:25:32.009Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:32.009Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594743931093667\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CJTM5uX1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:24.611Z\",\n \"updated\": \"2020-09-02T16:45:24.611Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:24.611Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065124638826\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594743931093667&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065124638826&alt=media\",\n \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743931093667\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065124638826\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CKOFlYyUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:31.093Z\",\n \"updated\": \"2020-07-14T16:25:31.093Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:31.093Z\"\n }\n ]\n}\n" + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"COqg6OX1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:24.638Z\",\n \"updated\": \"2020-09-02T16:45:24.638Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:24.638Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1754' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '1746' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -611,127 +673,116 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/\",\n - \ \"test/\"\n ],\n \"items\": [\n {\n \"kind\": \"storage#object\",\n - \ \"id\": \"gcsfs-testing/2014-01-01.csv/1594743931092928\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594743931092928&alt=media\",\n + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065124625808\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065124625808&alt=media\",\n \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743931092928\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065124625808\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CMD/lIyUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:31.092Z\",\n \"updated\": \"2020-07-14T16:25:31.092Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:31.092Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594743932010129\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CJC75+X1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:24.625Z\",\n \"updated\": \"2020-09-02T16:45:24.625Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:24.625Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065124624110\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594743932010129&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065124624110&alt=media\",\n \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743932010129\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065124624110\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CJH9zIyUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:32.009Z\",\n \"updated\": \"2020-07-14T16:25:32.009Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:32.009Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594743932014142\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CO6t5+X1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:24.623Z\",\n \"updated\": \"2020-09-02T16:45:24.623Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:24.623Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065125636474\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594743932014142&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065125636474&alt=media\",\n \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743932014142\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065125636474\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CL6czYyUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:32.013Z\",\n \"updated\": \"2020-07-14T16:25:32.013Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:32.013Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '2605' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2Fnested2%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594743931994638\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CPqSpeb1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:25.636Z\",\n \"updated\": \"2020-09-02T16:45:25.636Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:25.636Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065124611604\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065124611604&alt=media\",\n + \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065124611604\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CJTM5uX1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:24.611Z\",\n \"updated\": \"2020-09-02T16:45:24.611Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:24.611Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065124638826\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065124638826&alt=media\",\n + \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065124638826\",\n \"metageneration\": \"1\",\n + \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": + \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"COqg6OX1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:24.638Z\",\n \"updated\": \"2020-09-02T16:45:24.638Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:24.638Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065124639526\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594743931994638&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065124639526&alt=media\",\n \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743931994638\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065124639526\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CI6EzIyUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:31.994Z\",\n \"updated\": \"2020-07-14T16:25:31.994Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:31.994Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594743931004123\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CKam6OX1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:24.639Z\",\n \"updated\": \"2020-09-02T16:45:24.639Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:24.639Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065124637689\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594743931004123&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065124637689&alt=media\",\n \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743931004123\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065124637689\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CNvJj4yUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:31.003Z\",\n \"updated\": \"2020-07-14T16:25:31.003Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:31.003Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1783' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/nested2/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=test%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594743930917428\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CPmX6OX1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:24.637Z\",\n \"updated\": \"2020-09-02T16:45:24.637Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:24.637Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065124519407\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594743930917428&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065124519407&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743930917428\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065124519407\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n - \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CLSkioyUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:30.917Z\",\n \"updated\": \"2020-07-14T16:25:30.917Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:30.917Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594743931036893\",\n + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CO/74OX1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:24.519Z\",\n \"updated\": \"2020-09-02T16:45:24.519Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:24.519Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065124662809\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594743931036893&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065124662809&alt=media\",\n \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743931036893\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065124662809\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n - \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CN3JkYyUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:31.036Z\",\n \"updated\": \"2020-07-14T16:25:31.036Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:31.036Z\"\n }\n ]\n}\n" + \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CJnc6eX1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:24.662Z\",\n \"updated\": \"2020-09-02T16:45:24.662Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:24.662Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1779' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '7647' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=test/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -905,36 +956,47 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_vUvNeLOICns_AAllFp1p4wE\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_AxgCTPQ9huk_AAIIVoB6RnY\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:25:33 GMT\r\n\r\n\r\n--batch_vUvNeLOICns_AAllFp1p4wE\r\nContent-Type: + Wed, 02 Sep 2020 16:45:26 GMT\r\n\r\n\r\n--batch_AxgCTPQ9huk_AAIIVoB6RnY\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:33 GMT\r\n\r\n\r\n--batch_vUvNeLOICns_AAllFp1p4wE\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:26 GMT\r\n\r\n\r\n--batch_AxgCTPQ9huk_AAIIVoB6RnY\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:33 GMT\r\n\r\n\r\n--batch_vUvNeLOICns_AAllFp1p4wE\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:26 GMT\r\n\r\n\r\n--batch_AxgCTPQ9huk_AAIIVoB6RnY\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:33 GMT\r\n\r\n\r\n--batch_vUvNeLOICns_AAllFp1p4wE\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:26 GMT\r\n\r\n\r\n--batch_AxgCTPQ9huk_AAIIVoB6RnY\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:33 GMT\r\n\r\n\r\n--batch_vUvNeLOICns_AAllFp1p4wE\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:26 GMT\r\n\r\n\r\n--batch_AxgCTPQ9huk_AAIIVoB6RnY\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:33 GMT\r\n\r\n\r\n--batch_vUvNeLOICns_AAllFp1p4wE\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:26 GMT\r\n\r\n\r\n--batch_AxgCTPQ9huk_AAIIVoB6RnY\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:33 GMT\r\n\r\n\r\n--batch_vUvNeLOICns_AAllFp1p4wE\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:26 GMT\r\n\r\n\r\n--batch_AxgCTPQ9huk_AAIIVoB6RnY\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:33 GMT\r\n\r\n\r\n--batch_vUvNeLOICns_AAllFp1p4wE\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:26 GMT\r\n\r\n\r\n--batch_AxgCTPQ9huk_AAIIVoB6RnY\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:33 GMT\r\n\r\n\r\n--batch_vUvNeLOICns_AAllFp1p4wE--\r\n" + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:26 GMT\r\n\r\n\r\n--batch_AxgCTPQ9huk_AAIIVoB6RnY--\r\n" headers: - Cache-Control: private, max-age=0 - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_vUvNeLOICns_AAllFp1p4wE - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - private, max-age=0 + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_AxgCTPQ9huk_AAIIVoB6RnY + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_ls_touch.yaml b/gcsfs/tests/recordings/test_ls_touch.yaml index 297290a9..0208839f 100644 --- a/gcsfs/tests/recordings/test_ls_touch.yaml +++ b/gcsfs/tests/recordings/test_ls_touch.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAFDcDV8C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP - Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTZ79qllYVNxaHWVb4w15IUMJghRnSs5+MuWi9T8 - vUSQhWoagF/gWV4/ygdCxTr84P+/HB+fT0zw4wAAAA== + H4sIAArMT18C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULnc1K82+NTiHzLPQE7Oe + lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmz23FPLwqbiyOqKb4w15IUMJgjxEneRmr+XCLJQ + TeqUysEPwa/wLK+f5QOhYh198P9fjg+z0wad4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:50.055Z\",\n \"updated\": \"2020-07-14T16:24:50.055Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: null @@ -150,12 +134,19 @@ interactions: \"No such object: gcsfs-testing/tmp/test\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '251' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '249' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found @@ -169,11 +160,17 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -190,12 +187,19 @@ interactions: \"No such object: gcsfs-testing/tmp/test\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '251' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '249' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found @@ -214,10 +218,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUlLITDXeMrd6jkawe3N0qDkV_MQpcDAOrXzkLZSCgzHlug0kJZuwL8mZCdCb1JG_XuEDOwLzRElbPAuDFGrYuZjVQRXkw + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UyA7MkY71ueeApcvLHFR5m21wckz6WNWkCY_ItLtVEd8A3OnFgllaWfUfo5VhZHUi7YUD5xw2l4XS1RNbCNgw Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -232,30 +236,38 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUlLITDXeMrd6jkawe3N0qDkV_MQpcDAOrXzkLZSCgzHlug0kJZuwL8mZCdCb1JG_XuEDOwLzRElbPAuDFGrYuZjVQRXkw + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UyA7MkY71ueeApcvLHFR5m21wckz6WNWkCY_ItLtVEd8A3OnFgllaWfUfo5VhZHUi7YUD5xw2l4XS1RNbCNgw response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594743891473715\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065100289878\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594743891473715&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065100289878&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743891473715\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065100289878\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n - \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CLPqovmTzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:51.473Z\",\n \"updated\": \"2020-07-14T16:24:51.473Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:24:51.473Z\"\n}\n" + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CNaOmtr1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:00.289Z\",\n \"updated\": \"2020-09-02T16:45:00.289Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:00.289Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '750' - Content-Type: application/json; charset=UTF-8 - Etag: CLPqovmTzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '746' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CNaOmtr1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUlLITDXeMrd6jkawe3N0qDkV_MQpcDAOrXzkLZSCgzHlug0kJZuwL8mZCdCb1JG_XuEDOwLzRElbPAuDFGrYuZjVQRXkw + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UyA7MkY71ueeApcvLHFR5m21wckz6WNWkCY_ItLtVEd8A3OnFgllaWfUfo5VhZHUi7YUD5xw2l4XS1RNbCNgw - request: body: null headers: @@ -270,10 +282,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUnabYfObR7MBHBQPwk5gBOLeXnZ3NCaHSQgBZw3rK7GRYWo7g3QVVJs8aLY2eTXT_YvUunhTsJ-PLYudyrwW8CMhJWOmA + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxYH41NzSKTU0sNK5T4gM4cQSrTaxjk0OGa4sgxagGEXbBdrDUK6gERQdLyn3tKitCtfhqVObgUzeqVTMGs1w Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -288,30 +300,38 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUnabYfObR7MBHBQPwk5gBOLeXnZ3NCaHSQgBZw3rK7GRYWo7g3QVVJs8aLY2eTXT_YvUunhTsJ-PLYudyrwW8CMhJWOmA + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxYH41NzSKTU0sNK5T4gM4cQSrTaxjk0OGa4sgxagGEXbBdrDUK6gERQdLyn3tKitCtfhqVObgUzeqVTMGs1w response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/b/1594743892473923\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/b/1599065100925210\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fb\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fb?generation=1594743892473923&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fb?generation=1599065100925210&alt=media\",\n \ \"name\": \"tmp/test/b\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743892473923\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065100925210\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n - \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CMPw3/mTzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:52.473Z\",\n \"updated\": \"2020-07-14T16:24:52.473Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:24:52.473Z\"\n}\n" + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CJrywNr1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:00.925Z\",\n \"updated\": \"2020-09-02T16:45:00.925Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:00.925Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '750' - Content-Type: application/json; charset=UTF-8 - Etag: CMPw3/mTzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '746' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CJrywNr1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUnabYfObR7MBHBQPwk5gBOLeXnZ3NCaHSQgBZw3rK7GRYWo7g3QVVJs8aLY2eTXT_YvUunhTsJ-PLYudyrwW8CMhJWOmA + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxYH41NzSKTU0sNK5T4gM4cQSrTaxjk0OGa4sgxagGEXbBdrDUK6gERQdLyn3tKitCtfhqVObgUzeqVTMGs1w - request: body: null headers: {} @@ -320,32 +340,38 @@ interactions: response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594743891473715\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065100289878\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594743891473715&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065100289878&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743891473715\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599065100289878\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n \"crc32c\": - \"AAAAAA==\",\n \"etag\": \"CLPqovmTzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:51.473Z\",\n \"updated\": \"2020-07-14T16:24:51.473Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:24:51.473Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/b/1594743892473923\",\n + \"AAAAAA==\",\n \"etag\": \"CNaOmtr1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:00.289Z\",\n \"updated\": \"2020-09-02T16:45:00.289Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:00.289Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/b/1599065100925210\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fb\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fb?generation=1594743892473923&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fb?generation=1599065100925210&alt=media\",\n \ \"name\": \"tmp/test/b\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743892473923\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599065100925210\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n \"crc32c\": - \"AAAAAA==\",\n \"etag\": \"CMPw3/mTzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:52.473Z\",\n \"updated\": \"2020-07-14T16:24:52.473Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:24:52.473Z\"\n }\n ]\n}\n" + \"AAAAAA==\",\n \"etag\": \"CJrywNr1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:00.925Z\",\n \"updated\": \"2020-09-02T16:45:00.925Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:00.925Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1703' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '1695' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -354,40 +380,46 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"tmp/\"\n - \ ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '64' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=tmp%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"tmp/test/\"\n - \ ]\n}\n" + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065100289878\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065100289878&alt=media\",\n + \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065100289878\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n \"crc32c\": + \"AAAAAA==\",\n \"etag\": \"CNaOmtr1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:00.289Z\",\n \"updated\": \"2020-09-02T16:45:00.289Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:00.289Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/b/1599065100925210\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fb\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fb?generation=1599065100925210&alt=media\",\n + \ \"name\": \"tmp/test/b\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065100925210\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n \"crc32c\": + \"AAAAAA==\",\n \"etag\": \"CJrywNr1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:00.925Z\",\n \"updated\": \"2020-09-02T16:45:00.925Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:00.925Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '69' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '1695' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=tmp/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -435,22 +467,33 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_7jfXimhRopg_AAWnJnAXMII\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_wly7_QnSZwI_AACtlpAl-Vk\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:24:53 GMT\r\n\r\n\r\n--batch_7jfXimhRopg_AAWnJnAXMII\r\nContent-Type: + Wed, 02 Sep 2020 16:45:01 GMT\r\n\r\n\r\n--batch_wly7_QnSZwI_AACtlpAl-Vk\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:24:53 GMT\r\n\r\n\r\n--batch_7jfXimhRopg_AAWnJnAXMII--\r\n" + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:01 GMT\r\n\r\n\r\n--batch_wly7_QnSZwI_AACtlpAl-Vk--\r\n" headers: - Cache-Control: private, max-age=0 - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_7jfXimhRopg_AAWnJnAXMII - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - private, max-age=0 + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_wly7_QnSZwI_AACtlpAl-Vk + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_many_connect.yaml b/gcsfs/tests/recordings/test_many_connect.yaml index 96b56017..2de0081a 100644 --- a/gcsfs/tests/recordings/test_many_connect.yaml +++ b/gcsfs/tests/recordings/test_many_connect.yaml @@ -17,7 +17,7 @@ interactions: response: body: string: !!binary | - H4sIADLcDV8C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULne1I82+NTiHzLPQE7Oe + H4sIAPXLT18C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULne1I82+NTiHzLPQE7Oe lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmy2MdaQFzKYIER1Ujl4dUW5SM3fSwRZqKbL+SlJ LQubiiMPwa/wLK+f5QOhYh198P9fjg9b1v+I4wAAAA== headers: @@ -84,35 +84,11 @@ interactions: \ \"etag\": \"CAE=\",\n \"timeCreated\": \"2017-09-14T18:55:42.848Z\",\n \ \"updated\": \"2017-09-14T18:55:42.848Z\",\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-tester\",\n \"id\": \"gcsfs-tester\",\n - \ \"name\": \"gcsfs-tester\",\n \"projectNumber\": \"586241054156\",\n - \ \"metageneration\": \"1\",\n \"location\": \"US\",\n \"storageClass\": - \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": \"2020-07-08T18:43:14.054Z\",\n - \ \"updated\": \"2020-07-08T18:43:14.054Z\",\n \"iamConfiguration\": - {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n - \ \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n - \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": - \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:04.057Z\",\n \"updated\": \"2020-07-14T16:24:04.057Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-tester3\",\n - \ \"id\": \"gcsfs-tester3\",\n \"name\": \"gcsfs-tester3\",\n \"projectNumber\": + \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n \"id\": + \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-07T21:07:25.637Z\",\n \"updated\": \"2020-07-07T21:07:25.637Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testerer\",\n - \ \"id\": \"gcsfs-testerer\",\n \"name\": \"gcsfs-testerer\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-06T16:25:54.924Z\",\n \"updated\": \"2020-07-06T16:25:54.924Z\",\n + \"2020-09-02T15:40:10.048Z\",\n \"updated\": \"2020-09-02T15:40:10.048Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n },\n @@ -127,19 +103,25 @@ interactions: \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/mdtemp\",\n \ \"id\": \"mdtemp\",\n \"name\": \"mdtemp\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"2\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAI=\",\n \"timeCreated\": - \"2018-04-10T01:17:29.182Z\",\n \"updated\": \"2018-05-10T16:59:01.351Z\",\n + \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n + \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": + \"2020-08-31T21:13:48.793Z\",\n \"updated\": \"2020-08-31T21:13:48.793Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n }\n \ ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '6406' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '4486' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -184,35 +166,11 @@ interactions: \ \"etag\": \"CAE=\",\n \"timeCreated\": \"2017-09-14T18:55:42.848Z\",\n \ \"updated\": \"2017-09-14T18:55:42.848Z\",\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-tester\",\n \"id\": \"gcsfs-tester\",\n - \ \"name\": \"gcsfs-tester\",\n \"projectNumber\": \"586241054156\",\n - \ \"metageneration\": \"1\",\n \"location\": \"US\",\n \"storageClass\": - \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": \"2020-07-08T18:43:14.054Z\",\n - \ \"updated\": \"2020-07-08T18:43:14.054Z\",\n \"iamConfiguration\": - {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n - \ \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n - \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": - \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:04.057Z\",\n \"updated\": \"2020-07-14T16:24:04.057Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-tester3\",\n - \ \"id\": \"gcsfs-tester3\",\n \"name\": \"gcsfs-tester3\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-07T21:07:25.637Z\",\n \"updated\": \"2020-07-07T21:07:25.637Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testerer\",\n - \ \"id\": \"gcsfs-testerer\",\n \"name\": \"gcsfs-testerer\",\n \"projectNumber\": + \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n \"id\": + \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-06T16:25:54.924Z\",\n \"updated\": \"2020-07-06T16:25:54.924Z\",\n + \"2020-09-02T15:40:10.048Z\",\n \"updated\": \"2020-09-02T15:40:10.048Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n },\n @@ -227,19 +185,25 @@ interactions: \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/mdtemp\",\n \ \"id\": \"mdtemp\",\n \"name\": \"mdtemp\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"2\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAI=\",\n \"timeCreated\": - \"2018-04-10T01:17:29.182Z\",\n \"updated\": \"2018-05-10T16:59:01.351Z\",\n + \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n + \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": + \"2020-08-31T21:13:48.793Z\",\n \"updated\": \"2020-08-31T21:13:48.793Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n }\n \ ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '6406' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '4486' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -284,35 +248,11 @@ interactions: \ \"etag\": \"CAE=\",\n \"timeCreated\": \"2017-09-14T18:55:42.848Z\",\n \ \"updated\": \"2017-09-14T18:55:42.848Z\",\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-tester\",\n \"id\": \"gcsfs-tester\",\n - \ \"name\": \"gcsfs-tester\",\n \"projectNumber\": \"586241054156\",\n - \ \"metageneration\": \"1\",\n \"location\": \"US\",\n \"storageClass\": - \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": \"2020-07-08T18:43:14.054Z\",\n - \ \"updated\": \"2020-07-08T18:43:14.054Z\",\n \"iamConfiguration\": - {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n - \ \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n - \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": - \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:04.057Z\",\n \"updated\": \"2020-07-14T16:24:04.057Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-tester3\",\n - \ \"id\": \"gcsfs-tester3\",\n \"name\": \"gcsfs-tester3\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-07T21:07:25.637Z\",\n \"updated\": \"2020-07-07T21:07:25.637Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testerer\",\n - \ \"id\": \"gcsfs-testerer\",\n \"name\": \"gcsfs-testerer\",\n \"projectNumber\": + \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n \"id\": + \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-06T16:25:54.924Z\",\n \"updated\": \"2020-07-06T16:25:54.924Z\",\n + \"2020-09-02T15:40:10.048Z\",\n \"updated\": \"2020-09-02T15:40:10.048Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n },\n @@ -327,19 +267,25 @@ interactions: \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/mdtemp\",\n \ \"id\": \"mdtemp\",\n \"name\": \"mdtemp\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"2\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAI=\",\n \"timeCreated\": - \"2018-04-10T01:17:29.182Z\",\n \"updated\": \"2018-05-10T16:59:01.351Z\",\n + \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n + \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": + \"2020-08-31T21:13:48.793Z\",\n \"updated\": \"2020-08-31T21:13:48.793Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n }\n \ ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '6406' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '4486' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -384,35 +330,11 @@ interactions: \ \"etag\": \"CAE=\",\n \"timeCreated\": \"2017-09-14T18:55:42.848Z\",\n \ \"updated\": \"2017-09-14T18:55:42.848Z\",\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-tester\",\n \"id\": \"gcsfs-tester\",\n - \ \"name\": \"gcsfs-tester\",\n \"projectNumber\": \"586241054156\",\n - \ \"metageneration\": \"1\",\n \"location\": \"US\",\n \"storageClass\": - \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": \"2020-07-08T18:43:14.054Z\",\n - \ \"updated\": \"2020-07-08T18:43:14.054Z\",\n \"iamConfiguration\": - {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n - \ \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n - \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": - \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:04.057Z\",\n \"updated\": \"2020-07-14T16:24:04.057Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-tester3\",\n - \ \"id\": \"gcsfs-tester3\",\n \"name\": \"gcsfs-tester3\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-07T21:07:25.637Z\",\n \"updated\": \"2020-07-07T21:07:25.637Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testerer\",\n - \ \"id\": \"gcsfs-testerer\",\n \"name\": \"gcsfs-testerer\",\n \"projectNumber\": + \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n \"id\": + \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-06T16:25:54.924Z\",\n \"updated\": \"2020-07-06T16:25:54.924Z\",\n + \"2020-09-02T15:40:10.048Z\",\n \"updated\": \"2020-09-02T15:40:10.048Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n },\n @@ -427,19 +349,25 @@ interactions: \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/mdtemp\",\n \ \"id\": \"mdtemp\",\n \"name\": \"mdtemp\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"2\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAI=\",\n \"timeCreated\": - \"2018-04-10T01:17:29.182Z\",\n \"updated\": \"2018-05-10T16:59:01.351Z\",\n + \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n + \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": + \"2020-08-31T21:13:48.793Z\",\n \"updated\": \"2020-08-31T21:13:48.793Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n }\n \ ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '6406' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '4486' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -484,35 +412,11 @@ interactions: \ \"etag\": \"CAE=\",\n \"timeCreated\": \"2017-09-14T18:55:42.848Z\",\n \ \"updated\": \"2017-09-14T18:55:42.848Z\",\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-tester\",\n \"id\": \"gcsfs-tester\",\n - \ \"name\": \"gcsfs-tester\",\n \"projectNumber\": \"586241054156\",\n - \ \"metageneration\": \"1\",\n \"location\": \"US\",\n \"storageClass\": - \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": \"2020-07-08T18:43:14.054Z\",\n - \ \"updated\": \"2020-07-08T18:43:14.054Z\",\n \"iamConfiguration\": - {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n - \ \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n - \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": - \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:04.057Z\",\n \"updated\": \"2020-07-14T16:24:04.057Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-tester3\",\n - \ \"id\": \"gcsfs-tester3\",\n \"name\": \"gcsfs-tester3\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-07T21:07:25.637Z\",\n \"updated\": \"2020-07-07T21:07:25.637Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testerer\",\n - \ \"id\": \"gcsfs-testerer\",\n \"name\": \"gcsfs-testerer\",\n \"projectNumber\": + \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n \"id\": + \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-06T16:25:54.924Z\",\n \"updated\": \"2020-07-06T16:25:54.924Z\",\n + \"2020-09-02T15:40:10.048Z\",\n \"updated\": \"2020-09-02T15:40:10.048Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n },\n @@ -527,19 +431,25 @@ interactions: \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/mdtemp\",\n \ \"id\": \"mdtemp\",\n \"name\": \"mdtemp\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"2\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAI=\",\n \"timeCreated\": - \"2018-04-10T01:17:29.182Z\",\n \"updated\": \"2018-05-10T16:59:01.351Z\",\n + \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n + \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": + \"2020-08-31T21:13:48.793Z\",\n \"updated\": \"2020-08-31T21:13:48.793Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n }\n \ ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '6406' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '4486' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -584,35 +494,11 @@ interactions: \ \"etag\": \"CAE=\",\n \"timeCreated\": \"2017-09-14T18:55:42.848Z\",\n \ \"updated\": \"2017-09-14T18:55:42.848Z\",\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-tester\",\n \"id\": \"gcsfs-tester\",\n - \ \"name\": \"gcsfs-tester\",\n \"projectNumber\": \"586241054156\",\n - \ \"metageneration\": \"1\",\n \"location\": \"US\",\n \"storageClass\": - \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": \"2020-07-08T18:43:14.054Z\",\n - \ \"updated\": \"2020-07-08T18:43:14.054Z\",\n \"iamConfiguration\": - {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n - \ \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n - \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": - \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:04.057Z\",\n \"updated\": \"2020-07-14T16:24:04.057Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-tester3\",\n - \ \"id\": \"gcsfs-tester3\",\n \"name\": \"gcsfs-tester3\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-07T21:07:25.637Z\",\n \"updated\": \"2020-07-07T21:07:25.637Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testerer\",\n - \ \"id\": \"gcsfs-testerer\",\n \"name\": \"gcsfs-testerer\",\n \"projectNumber\": + \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n \"id\": + \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-06T16:25:54.924Z\",\n \"updated\": \"2020-07-06T16:25:54.924Z\",\n + \"2020-09-02T15:40:10.048Z\",\n \"updated\": \"2020-09-02T15:40:10.048Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n },\n @@ -627,19 +513,25 @@ interactions: \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/mdtemp\",\n \ \"id\": \"mdtemp\",\n \"name\": \"mdtemp\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"2\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAI=\",\n \"timeCreated\": - \"2018-04-10T01:17:29.182Z\",\n \"updated\": \"2018-05-10T16:59:01.351Z\",\n + \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n + \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": + \"2020-08-31T21:13:48.793Z\",\n \"updated\": \"2020-08-31T21:13:48.793Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n }\n \ ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '6406' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '4486' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -684,35 +576,11 @@ interactions: \ \"etag\": \"CAE=\",\n \"timeCreated\": \"2017-09-14T18:55:42.848Z\",\n \ \"updated\": \"2017-09-14T18:55:42.848Z\",\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-tester\",\n \"id\": \"gcsfs-tester\",\n - \ \"name\": \"gcsfs-tester\",\n \"projectNumber\": \"586241054156\",\n - \ \"metageneration\": \"1\",\n \"location\": \"US\",\n \"storageClass\": - \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": \"2020-07-08T18:43:14.054Z\",\n - \ \"updated\": \"2020-07-08T18:43:14.054Z\",\n \"iamConfiguration\": - {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n - \ \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n - \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": - \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:04.057Z\",\n \"updated\": \"2020-07-14T16:24:04.057Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-tester3\",\n - \ \"id\": \"gcsfs-tester3\",\n \"name\": \"gcsfs-tester3\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-07T21:07:25.637Z\",\n \"updated\": \"2020-07-07T21:07:25.637Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testerer\",\n - \ \"id\": \"gcsfs-testerer\",\n \"name\": \"gcsfs-testerer\",\n \"projectNumber\": + \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n \"id\": + \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-06T16:25:54.924Z\",\n \"updated\": \"2020-07-06T16:25:54.924Z\",\n + \"2020-09-02T15:40:10.048Z\",\n \"updated\": \"2020-09-02T15:40:10.048Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n },\n @@ -727,19 +595,25 @@ interactions: \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/mdtemp\",\n \ \"id\": \"mdtemp\",\n \"name\": \"mdtemp\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"2\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAI=\",\n \"timeCreated\": - \"2018-04-10T01:17:29.182Z\",\n \"updated\": \"2018-05-10T16:59:01.351Z\",\n + \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n + \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": + \"2020-08-31T21:13:48.793Z\",\n \"updated\": \"2020-08-31T21:13:48.793Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n }\n \ ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '6406' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '4486' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -784,35 +658,11 @@ interactions: \ \"etag\": \"CAE=\",\n \"timeCreated\": \"2017-09-14T18:55:42.848Z\",\n \ \"updated\": \"2017-09-14T18:55:42.848Z\",\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-tester\",\n \"id\": \"gcsfs-tester\",\n - \ \"name\": \"gcsfs-tester\",\n \"projectNumber\": \"586241054156\",\n - \ \"metageneration\": \"1\",\n \"location\": \"US\",\n \"storageClass\": - \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": \"2020-07-08T18:43:14.054Z\",\n - \ \"updated\": \"2020-07-08T18:43:14.054Z\",\n \"iamConfiguration\": - {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n - \ \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n - \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": - \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:04.057Z\",\n \"updated\": \"2020-07-14T16:24:04.057Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-tester3\",\n - \ \"id\": \"gcsfs-tester3\",\n \"name\": \"gcsfs-tester3\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-07T21:07:25.637Z\",\n \"updated\": \"2020-07-07T21:07:25.637Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testerer\",\n - \ \"id\": \"gcsfs-testerer\",\n \"name\": \"gcsfs-testerer\",\n \"projectNumber\": + \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n \"id\": + \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-06T16:25:54.924Z\",\n \"updated\": \"2020-07-06T16:25:54.924Z\",\n + \"2020-09-02T15:40:10.048Z\",\n \"updated\": \"2020-09-02T15:40:10.048Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n },\n @@ -827,19 +677,25 @@ interactions: \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/mdtemp\",\n \ \"id\": \"mdtemp\",\n \"name\": \"mdtemp\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"2\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAI=\",\n \"timeCreated\": - \"2018-04-10T01:17:29.182Z\",\n \"updated\": \"2018-05-10T16:59:01.351Z\",\n + \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n + \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": + \"2020-08-31T21:13:48.793Z\",\n \"updated\": \"2020-08-31T21:13:48.793Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n }\n \ ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '6406' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '4486' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -884,35 +740,11 @@ interactions: \ \"etag\": \"CAE=\",\n \"timeCreated\": \"2017-09-14T18:55:42.848Z\",\n \ \"updated\": \"2017-09-14T18:55:42.848Z\",\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-tester\",\n \"id\": \"gcsfs-tester\",\n - \ \"name\": \"gcsfs-tester\",\n \"projectNumber\": \"586241054156\",\n - \ \"metageneration\": \"1\",\n \"location\": \"US\",\n \"storageClass\": - \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": \"2020-07-08T18:43:14.054Z\",\n - \ \"updated\": \"2020-07-08T18:43:14.054Z\",\n \"iamConfiguration\": - {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n - \ \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n - \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": - \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:04.057Z\",\n \"updated\": \"2020-07-14T16:24:04.057Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-tester3\",\n - \ \"id\": \"gcsfs-tester3\",\n \"name\": \"gcsfs-tester3\",\n \"projectNumber\": + \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n \"id\": + \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-07T21:07:25.637Z\",\n \"updated\": \"2020-07-07T21:07:25.637Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testerer\",\n - \ \"id\": \"gcsfs-testerer\",\n \"name\": \"gcsfs-testerer\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-06T16:25:54.924Z\",\n \"updated\": \"2020-07-06T16:25:54.924Z\",\n + \"2020-09-02T15:40:10.048Z\",\n \"updated\": \"2020-09-02T15:40:10.048Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n },\n @@ -927,19 +759,25 @@ interactions: \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/mdtemp\",\n \ \"id\": \"mdtemp\",\n \"name\": \"mdtemp\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"2\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAI=\",\n \"timeCreated\": - \"2018-04-10T01:17:29.182Z\",\n \"updated\": \"2018-05-10T16:59:01.351Z\",\n + \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n + \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": + \"2020-08-31T21:13:48.793Z\",\n \"updated\": \"2020-08-31T21:13:48.793Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n }\n \ ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '6406' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '4486' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -984,35 +822,11 @@ interactions: \ \"etag\": \"CAE=\",\n \"timeCreated\": \"2017-09-14T18:55:42.848Z\",\n \ \"updated\": \"2017-09-14T18:55:42.848Z\",\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-tester\",\n \"id\": \"gcsfs-tester\",\n - \ \"name\": \"gcsfs-tester\",\n \"projectNumber\": \"586241054156\",\n - \ \"metageneration\": \"1\",\n \"location\": \"US\",\n \"storageClass\": - \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": \"2020-07-08T18:43:14.054Z\",\n - \ \"updated\": \"2020-07-08T18:43:14.054Z\",\n \"iamConfiguration\": - {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n - \ \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n - \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": - \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:04.057Z\",\n \"updated\": \"2020-07-14T16:24:04.057Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-tester3\",\n - \ \"id\": \"gcsfs-tester3\",\n \"name\": \"gcsfs-tester3\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-07T21:07:25.637Z\",\n \"updated\": \"2020-07-07T21:07:25.637Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testerer\",\n - \ \"id\": \"gcsfs-testerer\",\n \"name\": \"gcsfs-testerer\",\n \"projectNumber\": + \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n \"id\": + \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-06T16:25:54.924Z\",\n \"updated\": \"2020-07-06T16:25:54.924Z\",\n + \"2020-09-02T15:40:10.048Z\",\n \"updated\": \"2020-09-02T15:40:10.048Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n },\n @@ -1027,19 +841,25 @@ interactions: \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/mdtemp\",\n \ \"id\": \"mdtemp\",\n \"name\": \"mdtemp\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"2\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAI=\",\n \"timeCreated\": - \"2018-04-10T01:17:29.182Z\",\n \"updated\": \"2018-05-10T16:59:01.351Z\",\n + \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n + \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": + \"2020-08-31T21:13:48.793Z\",\n \"updated\": \"2020-08-31T21:13:48.793Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n }\n \ ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '6406' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '4486' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -1084,35 +904,11 @@ interactions: \ \"etag\": \"CAE=\",\n \"timeCreated\": \"2017-09-14T18:55:42.848Z\",\n \ \"updated\": \"2017-09-14T18:55:42.848Z\",\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-tester\",\n \"id\": \"gcsfs-tester\",\n - \ \"name\": \"gcsfs-tester\",\n \"projectNumber\": \"586241054156\",\n - \ \"metageneration\": \"1\",\n \"location\": \"US\",\n \"storageClass\": - \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": \"2020-07-08T18:43:14.054Z\",\n - \ \"updated\": \"2020-07-08T18:43:14.054Z\",\n \"iamConfiguration\": - {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n - \ \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n - \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": - \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:04.057Z\",\n \"updated\": \"2020-07-14T16:24:04.057Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-tester3\",\n - \ \"id\": \"gcsfs-tester3\",\n \"name\": \"gcsfs-tester3\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-07T21:07:25.637Z\",\n \"updated\": \"2020-07-07T21:07:25.637Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testerer\",\n - \ \"id\": \"gcsfs-testerer\",\n \"name\": \"gcsfs-testerer\",\n \"projectNumber\": + \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n \"id\": + \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-06T16:25:54.924Z\",\n \"updated\": \"2020-07-06T16:25:54.924Z\",\n + \"2020-09-02T15:40:10.048Z\",\n \"updated\": \"2020-09-02T15:40:10.048Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n },\n @@ -1127,19 +923,25 @@ interactions: \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/mdtemp\",\n \ \"id\": \"mdtemp\",\n \"name\": \"mdtemp\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"2\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAI=\",\n \"timeCreated\": - \"2018-04-10T01:17:29.182Z\",\n \"updated\": \"2018-05-10T16:59:01.351Z\",\n + \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n + \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": + \"2020-08-31T21:13:48.793Z\",\n \"updated\": \"2020-08-31T21:13:48.793Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n }\n \ ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '6406' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '4486' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -1184,35 +986,11 @@ interactions: \ \"etag\": \"CAE=\",\n \"timeCreated\": \"2017-09-14T18:55:42.848Z\",\n \ \"updated\": \"2017-09-14T18:55:42.848Z\",\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-tester\",\n \"id\": \"gcsfs-tester\",\n - \ \"name\": \"gcsfs-tester\",\n \"projectNumber\": \"586241054156\",\n - \ \"metageneration\": \"1\",\n \"location\": \"US\",\n \"storageClass\": - \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": \"2020-07-08T18:43:14.054Z\",\n - \ \"updated\": \"2020-07-08T18:43:14.054Z\",\n \"iamConfiguration\": - {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n - \ \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n - \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": - \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": + \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n \"id\": + \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:04.057Z\",\n \"updated\": \"2020-07-14T16:24:04.057Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-tester3\",\n - \ \"id\": \"gcsfs-tester3\",\n \"name\": \"gcsfs-tester3\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-07T21:07:25.637Z\",\n \"updated\": \"2020-07-07T21:07:25.637Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testerer\",\n - \ \"id\": \"gcsfs-testerer\",\n \"name\": \"gcsfs-testerer\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-06T16:25:54.924Z\",\n \"updated\": \"2020-07-06T16:25:54.924Z\",\n + \"2020-09-02T15:40:10.048Z\",\n \"updated\": \"2020-09-02T15:40:10.048Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n },\n @@ -1227,119 +1005,25 @@ interactions: \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/mdtemp\",\n \ \"id\": \"mdtemp\",\n \"name\": \"mdtemp\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"2\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAI=\",\n \"timeCreated\": - \"2018-04-10T01:17:29.182Z\",\n \"updated\": \"2018-05-10T16:59:01.351Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n }\n - \ ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '6406' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/?project=test_project -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/?project=test_project - response: - body: - string: "{\n \"kind\": \"storage#buckets\",\n \"items\": [\n {\n \"kind\": - \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/anaconda-enterprise\",\n - \ \"id\": \"anaconda-enterprise\",\n \"name\": \"anaconda-enterprise\",\n - \ \"projectNumber\": \"586241054156\",\n \"metageneration\": \"3\",\n - \ \"location\": \"US\",\n \"storageClass\": \"MULTI_REGIONAL\",\n - \ \"etag\": \"CAM=\",\n \"timeCreated\": \"2017-07-05T23:53:06.552Z\",\n - \ \"updated\": \"2017-07-14T17:39:54.178Z\",\n \"locationType\": - \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/anaconda-public-data\",\n \"id\": - \"anaconda-public-data\",\n \"name\": \"anaconda-public-data\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"2\",\n \"location\": \"US\",\n - \ \"storageClass\": \"MULTI_REGIONAL\",\n \"etag\": \"CAI=\",\n \"timeCreated\": - \"2017-04-05T20:22:12.865Z\",\n \"updated\": \"2017-07-10T16:32:07.980Z\",\n - \ \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/artifacts.test_project.appspot.com\",\n - \ \"id\": \"artifacts.test_project.appspot.com\",\n \"name\": \"artifacts.test_project.appspot.com\",\n - \ \"projectNumber\": \"586241054156\",\n \"metageneration\": \"3\",\n - \ \"location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": - \"CAM=\",\n \"timeCreated\": \"2016-05-17T18:29:22.774Z\",\n \"updated\": - \"2018-10-29T22:44:41.802Z\",\n \"locationType\": \"multi-region\"\n - \ },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/test_project_cloudbuild\",\n - \ \"id\": \"test_project_cloudbuild\",\n \"name\": \"test_project_cloudbuild\",\n - \ \"projectNumber\": \"586241054156\",\n \"metageneration\": \"1\",\n - \ \"location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": - \"CAE=\",\n \"timeCreated\": \"2017-11-03T20:06:49.744Z\",\n \"updated\": - \"2017-11-03T20:06:49.744Z\",\n \"locationType\": \"multi-region\"\n - \ },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/dataflow-anaconda-compute\",\n - \ \"id\": \"dataflow-anaconda-compute\",\n \"name\": \"dataflow-anaconda-compute\",\n - \ \"projectNumber\": \"586241054156\",\n \"metageneration\": \"1\",\n - \ \"location\": \"US\",\n \"storageClass\": \"MULTI_REGIONAL\",\n - \ \"etag\": \"CAE=\",\n \"timeCreated\": \"2017-09-14T18:55:42.848Z\",\n - \ \"updated\": \"2017-09-14T18:55:42.848Z\",\n \"locationType\": - \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-tester\",\n \"id\": \"gcsfs-tester\",\n - \ \"name\": \"gcsfs-tester\",\n \"projectNumber\": \"586241054156\",\n - \ \"metageneration\": \"1\",\n \"location\": \"US\",\n \"storageClass\": - \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": \"2020-07-08T18:43:14.054Z\",\n - \ \"updated\": \"2020-07-08T18:43:14.054Z\",\n \"iamConfiguration\": - {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n - \ \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n - \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": - \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:04.057Z\",\n \"updated\": \"2020-07-14T16:24:04.057Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-tester3\",\n - \ \"id\": \"gcsfs-tester3\",\n \"name\": \"gcsfs-tester3\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-07T21:07:25.637Z\",\n \"updated\": \"2020-07-07T21:07:25.637Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testerer\",\n - \ \"id\": \"gcsfs-testerer\",\n \"name\": \"gcsfs-testerer\",\n \"projectNumber\": \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-06T16:25:54.924Z\",\n \"updated\": \"2020-07-06T16:25:54.924Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/kubeflow-anaconda-test\",\n - \ \"id\": \"kubeflow-anaconda-test\",\n \"name\": \"kubeflow-anaconda-test\",\n - \ \"projectNumber\": \"586241054156\",\n \"metageneration\": \"1\",\n - \ \"location\": \"US\",\n \"storageClass\": \"MULTI_REGIONAL\",\n - \ \"etag\": \"CAE=\",\n \"timeCreated\": \"2018-11-12T18:18:30.094Z\",\n - \ \"updated\": \"2018-11-12T18:18:30.094Z\",\n \"iamConfiguration\": - {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n - \ \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n - \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": - \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/mdtemp\",\n - \ \"id\": \"mdtemp\",\n \"name\": \"mdtemp\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"2\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAI=\",\n \"timeCreated\": - \"2018-04-10T01:17:29.182Z\",\n \"updated\": \"2018-05-10T16:59:01.351Z\",\n + \"2020-08-31T21:13:48.793Z\",\n \"updated\": \"2020-08-31T21:13:48.793Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n }\n \ ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '6406' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '4486' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -1384,35 +1068,11 @@ interactions: \ \"etag\": \"CAE=\",\n \"timeCreated\": \"2017-09-14T18:55:42.848Z\",\n \ \"updated\": \"2017-09-14T18:55:42.848Z\",\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-tester\",\n \"id\": \"gcsfs-tester\",\n - \ \"name\": \"gcsfs-tester\",\n \"projectNumber\": \"586241054156\",\n - \ \"metageneration\": \"1\",\n \"location\": \"US\",\n \"storageClass\": - \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": \"2020-07-08T18:43:14.054Z\",\n - \ \"updated\": \"2020-07-08T18:43:14.054Z\",\n \"iamConfiguration\": - {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n - \ \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n - \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": - \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": + \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n \"id\": + \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:04.057Z\",\n \"updated\": \"2020-07-14T16:24:04.057Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-tester3\",\n - \ \"id\": \"gcsfs-tester3\",\n \"name\": \"gcsfs-tester3\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-07T21:07:25.637Z\",\n \"updated\": \"2020-07-07T21:07:25.637Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testerer\",\n - \ \"id\": \"gcsfs-testerer\",\n \"name\": \"gcsfs-testerer\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-06T16:25:54.924Z\",\n \"updated\": \"2020-07-06T16:25:54.924Z\",\n + \"2020-09-02T15:40:10.048Z\",\n \"updated\": \"2020-09-02T15:40:10.048Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n },\n @@ -1427,19 +1087,25 @@ interactions: \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/mdtemp\",\n \ \"id\": \"mdtemp\",\n \"name\": \"mdtemp\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"2\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAI=\",\n \"timeCreated\": - \"2018-04-10T01:17:29.182Z\",\n \"updated\": \"2018-05-10T16:59:01.351Z\",\n + \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n + \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": + \"2020-08-31T21:13:48.793Z\",\n \"updated\": \"2020-08-31T21:13:48.793Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n }\n \ ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '6406' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '4486' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -1484,35 +1150,11 @@ interactions: \ \"etag\": \"CAE=\",\n \"timeCreated\": \"2017-09-14T18:55:42.848Z\",\n \ \"updated\": \"2017-09-14T18:55:42.848Z\",\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-tester\",\n \"id\": \"gcsfs-tester\",\n - \ \"name\": \"gcsfs-tester\",\n \"projectNumber\": \"586241054156\",\n - \ \"metageneration\": \"1\",\n \"location\": \"US\",\n \"storageClass\": - \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": \"2020-07-08T18:43:14.054Z\",\n - \ \"updated\": \"2020-07-08T18:43:14.054Z\",\n \"iamConfiguration\": - {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n - \ \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n - \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": - \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:04.057Z\",\n \"updated\": \"2020-07-14T16:24:04.057Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-tester3\",\n - \ \"id\": \"gcsfs-tester3\",\n \"name\": \"gcsfs-tester3\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-07T21:07:25.637Z\",\n \"updated\": \"2020-07-07T21:07:25.637Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testerer\",\n - \ \"id\": \"gcsfs-testerer\",\n \"name\": \"gcsfs-testerer\",\n \"projectNumber\": + \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n \"id\": + \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-06T16:25:54.924Z\",\n \"updated\": \"2020-07-06T16:25:54.924Z\",\n + \"2020-09-02T15:40:10.048Z\",\n \"updated\": \"2020-09-02T15:40:10.048Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n },\n @@ -1527,19 +1169,25 @@ interactions: \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/mdtemp\",\n \ \"id\": \"mdtemp\",\n \"name\": \"mdtemp\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"2\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAI=\",\n \"timeCreated\": - \"2018-04-10T01:17:29.182Z\",\n \"updated\": \"2018-05-10T16:59:01.351Z\",\n + \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n + \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": + \"2020-08-31T21:13:48.793Z\",\n \"updated\": \"2020-08-31T21:13:48.793Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n }\n \ ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '6406' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '4486' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -1584,35 +1232,11 @@ interactions: \ \"etag\": \"CAE=\",\n \"timeCreated\": \"2017-09-14T18:55:42.848Z\",\n \ \"updated\": \"2017-09-14T18:55:42.848Z\",\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-tester\",\n \"id\": \"gcsfs-tester\",\n - \ \"name\": \"gcsfs-tester\",\n \"projectNumber\": \"586241054156\",\n - \ \"metageneration\": \"1\",\n \"location\": \"US\",\n \"storageClass\": - \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": \"2020-07-08T18:43:14.054Z\",\n - \ \"updated\": \"2020-07-08T18:43:14.054Z\",\n \"iamConfiguration\": - {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n - \ \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n - \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": - \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": + \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n \"id\": + \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:04.057Z\",\n \"updated\": \"2020-07-14T16:24:04.057Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-tester3\",\n - \ \"id\": \"gcsfs-tester3\",\n \"name\": \"gcsfs-tester3\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-07T21:07:25.637Z\",\n \"updated\": \"2020-07-07T21:07:25.637Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testerer\",\n - \ \"id\": \"gcsfs-testerer\",\n \"name\": \"gcsfs-testerer\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-06T16:25:54.924Z\",\n \"updated\": \"2020-07-06T16:25:54.924Z\",\n + \"2020-09-02T15:40:10.048Z\",\n \"updated\": \"2020-09-02T15:40:10.048Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n },\n @@ -1627,19 +1251,25 @@ interactions: \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/mdtemp\",\n \ \"id\": \"mdtemp\",\n \"name\": \"mdtemp\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"2\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAI=\",\n \"timeCreated\": - \"2018-04-10T01:17:29.182Z\",\n \"updated\": \"2018-05-10T16:59:01.351Z\",\n + \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n + \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": + \"2020-08-31T21:13:48.793Z\",\n \"updated\": \"2020-08-31T21:13:48.793Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n }\n \ ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '6406' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '4486' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -1684,35 +1314,11 @@ interactions: \ \"etag\": \"CAE=\",\n \"timeCreated\": \"2017-09-14T18:55:42.848Z\",\n \ \"updated\": \"2017-09-14T18:55:42.848Z\",\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-tester\",\n \"id\": \"gcsfs-tester\",\n - \ \"name\": \"gcsfs-tester\",\n \"projectNumber\": \"586241054156\",\n - \ \"metageneration\": \"1\",\n \"location\": \"US\",\n \"storageClass\": - \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": \"2020-07-08T18:43:14.054Z\",\n - \ \"updated\": \"2020-07-08T18:43:14.054Z\",\n \"iamConfiguration\": - {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n - \ \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n - \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": - \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:04.057Z\",\n \"updated\": \"2020-07-14T16:24:04.057Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-tester3\",\n - \ \"id\": \"gcsfs-tester3\",\n \"name\": \"gcsfs-tester3\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-07T21:07:25.637Z\",\n \"updated\": \"2020-07-07T21:07:25.637Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testerer\",\n - \ \"id\": \"gcsfs-testerer\",\n \"name\": \"gcsfs-testerer\",\n \"projectNumber\": + \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n \"id\": + \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-06T16:25:54.924Z\",\n \"updated\": \"2020-07-06T16:25:54.924Z\",\n + \"2020-09-02T15:40:10.048Z\",\n \"updated\": \"2020-09-02T15:40:10.048Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n },\n @@ -1727,19 +1333,25 @@ interactions: \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/mdtemp\",\n \ \"id\": \"mdtemp\",\n \"name\": \"mdtemp\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"2\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAI=\",\n \"timeCreated\": - \"2018-04-10T01:17:29.182Z\",\n \"updated\": \"2018-05-10T16:59:01.351Z\",\n + \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n + \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": + \"2020-08-31T21:13:48.793Z\",\n \"updated\": \"2020-08-31T21:13:48.793Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n }\n \ ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '6406' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '4486' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -1784,35 +1396,11 @@ interactions: \ \"etag\": \"CAE=\",\n \"timeCreated\": \"2017-09-14T18:55:42.848Z\",\n \ \"updated\": \"2017-09-14T18:55:42.848Z\",\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-tester\",\n \"id\": \"gcsfs-tester\",\n - \ \"name\": \"gcsfs-tester\",\n \"projectNumber\": \"586241054156\",\n - \ \"metageneration\": \"1\",\n \"location\": \"US\",\n \"storageClass\": - \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": \"2020-07-08T18:43:14.054Z\",\n - \ \"updated\": \"2020-07-08T18:43:14.054Z\",\n \"iamConfiguration\": - {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n - \ \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n - \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": - \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:04.057Z\",\n \"updated\": \"2020-07-14T16:24:04.057Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-tester3\",\n - \ \"id\": \"gcsfs-tester3\",\n \"name\": \"gcsfs-tester3\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-07T21:07:25.637Z\",\n \"updated\": \"2020-07-07T21:07:25.637Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testerer\",\n - \ \"id\": \"gcsfs-testerer\",\n \"name\": \"gcsfs-testerer\",\n \"projectNumber\": + \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n \"id\": + \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-06T16:25:54.924Z\",\n \"updated\": \"2020-07-06T16:25:54.924Z\",\n + \"2020-09-02T15:40:10.048Z\",\n \"updated\": \"2020-09-02T15:40:10.048Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n },\n @@ -1827,19 +1415,25 @@ interactions: \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/mdtemp\",\n \ \"id\": \"mdtemp\",\n \"name\": \"mdtemp\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"2\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAI=\",\n \"timeCreated\": - \"2018-04-10T01:17:29.182Z\",\n \"updated\": \"2018-05-10T16:59:01.351Z\",\n + \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n + \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": + \"2020-08-31T21:13:48.793Z\",\n \"updated\": \"2020-08-31T21:13:48.793Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n }\n \ ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '6406' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '4486' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -1884,35 +1478,11 @@ interactions: \ \"etag\": \"CAE=\",\n \"timeCreated\": \"2017-09-14T18:55:42.848Z\",\n \ \"updated\": \"2017-09-14T18:55:42.848Z\",\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-tester\",\n \"id\": \"gcsfs-tester\",\n - \ \"name\": \"gcsfs-tester\",\n \"projectNumber\": \"586241054156\",\n - \ \"metageneration\": \"1\",\n \"location\": \"US\",\n \"storageClass\": - \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": \"2020-07-08T18:43:14.054Z\",\n - \ \"updated\": \"2020-07-08T18:43:14.054Z\",\n \"iamConfiguration\": - {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n - \ \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n - \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": - \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:04.057Z\",\n \"updated\": \"2020-07-14T16:24:04.057Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-tester3\",\n - \ \"id\": \"gcsfs-tester3\",\n \"name\": \"gcsfs-tester3\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-07T21:07:25.637Z\",\n \"updated\": \"2020-07-07T21:07:25.637Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testerer\",\n - \ \"id\": \"gcsfs-testerer\",\n \"name\": \"gcsfs-testerer\",\n \"projectNumber\": + \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n \"id\": + \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-06T16:25:54.924Z\",\n \"updated\": \"2020-07-06T16:25:54.924Z\",\n + \"2020-09-02T15:40:10.048Z\",\n \"updated\": \"2020-09-02T15:40:10.048Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n },\n @@ -1927,19 +1497,25 @@ interactions: \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/mdtemp\",\n \ \"id\": \"mdtemp\",\n \"name\": \"mdtemp\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"2\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAI=\",\n \"timeCreated\": - \"2018-04-10T01:17:29.182Z\",\n \"updated\": \"2018-05-10T16:59:01.351Z\",\n + \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n + \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": + \"2020-08-31T21:13:48.793Z\",\n \"updated\": \"2020-08-31T21:13:48.793Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n }\n \ ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '6406' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '4486' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -1984,35 +1560,11 @@ interactions: \ \"etag\": \"CAE=\",\n \"timeCreated\": \"2017-09-14T18:55:42.848Z\",\n \ \"updated\": \"2017-09-14T18:55:42.848Z\",\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-tester\",\n \"id\": \"gcsfs-tester\",\n - \ \"name\": \"gcsfs-tester\",\n \"projectNumber\": \"586241054156\",\n - \ \"metageneration\": \"1\",\n \"location\": \"US\",\n \"storageClass\": - \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": \"2020-07-08T18:43:14.054Z\",\n - \ \"updated\": \"2020-07-08T18:43:14.054Z\",\n \"iamConfiguration\": - {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n - \ \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n - \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": - \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": + \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n \"id\": + \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:04.057Z\",\n \"updated\": \"2020-07-14T16:24:04.057Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-tester3\",\n - \ \"id\": \"gcsfs-tester3\",\n \"name\": \"gcsfs-tester3\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-07T21:07:25.637Z\",\n \"updated\": \"2020-07-07T21:07:25.637Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testerer\",\n - \ \"id\": \"gcsfs-testerer\",\n \"name\": \"gcsfs-testerer\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-06T16:25:54.924Z\",\n \"updated\": \"2020-07-06T16:25:54.924Z\",\n + \"2020-09-02T15:40:10.048Z\",\n \"updated\": \"2020-09-02T15:40:10.048Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n },\n @@ -2027,19 +1579,25 @@ interactions: \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/mdtemp\",\n \ \"id\": \"mdtemp\",\n \"name\": \"mdtemp\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"2\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAI=\",\n \"timeCreated\": - \"2018-04-10T01:17:29.182Z\",\n \"updated\": \"2018-05-10T16:59:01.351Z\",\n + \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n + \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": + \"2020-08-31T21:13:48.793Z\",\n \"updated\": \"2020-08-31T21:13:48.793Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n }\n \ ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '6406' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '4486' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -2084,35 +1642,11 @@ interactions: \ \"etag\": \"CAE=\",\n \"timeCreated\": \"2017-09-14T18:55:42.848Z\",\n \ \"updated\": \"2017-09-14T18:55:42.848Z\",\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-tester\",\n \"id\": \"gcsfs-tester\",\n - \ \"name\": \"gcsfs-tester\",\n \"projectNumber\": \"586241054156\",\n - \ \"metageneration\": \"1\",\n \"location\": \"US\",\n \"storageClass\": - \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": \"2020-07-08T18:43:14.054Z\",\n - \ \"updated\": \"2020-07-08T18:43:14.054Z\",\n \"iamConfiguration\": - {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n - \ \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n - \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": - \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:04.057Z\",\n \"updated\": \"2020-07-14T16:24:04.057Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-tester3\",\n - \ \"id\": \"gcsfs-tester3\",\n \"name\": \"gcsfs-tester3\",\n \"projectNumber\": + \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n \"id\": + \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-07T21:07:25.637Z\",\n \"updated\": \"2020-07-07T21:07:25.637Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testerer\",\n - \ \"id\": \"gcsfs-testerer\",\n \"name\": \"gcsfs-testerer\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-06T16:25:54.924Z\",\n \"updated\": \"2020-07-06T16:25:54.924Z\",\n + \"2020-09-02T15:40:10.048Z\",\n \"updated\": \"2020-09-02T15:40:10.048Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n },\n @@ -2127,19 +1661,25 @@ interactions: \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/mdtemp\",\n \ \"id\": \"mdtemp\",\n \"name\": \"mdtemp\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"2\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAI=\",\n \"timeCreated\": - \"2018-04-10T01:17:29.182Z\",\n \"updated\": \"2018-05-10T16:59:01.351Z\",\n + \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n + \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": + \"2020-08-31T21:13:48.793Z\",\n \"updated\": \"2020-08-31T21:13:48.793Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n }\n \ ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '6406' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '4486' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -2184,35 +1724,11 @@ interactions: \ \"etag\": \"CAE=\",\n \"timeCreated\": \"2017-09-14T18:55:42.848Z\",\n \ \"updated\": \"2017-09-14T18:55:42.848Z\",\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-tester\",\n \"id\": \"gcsfs-tester\",\n - \ \"name\": \"gcsfs-tester\",\n \"projectNumber\": \"586241054156\",\n - \ \"metageneration\": \"1\",\n \"location\": \"US\",\n \"storageClass\": - \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": \"2020-07-08T18:43:14.054Z\",\n - \ \"updated\": \"2020-07-08T18:43:14.054Z\",\n \"iamConfiguration\": - {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n - \ \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n - \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": - \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:04.057Z\",\n \"updated\": \"2020-07-14T16:24:04.057Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-tester3\",\n - \ \"id\": \"gcsfs-tester3\",\n \"name\": \"gcsfs-tester3\",\n \"projectNumber\": + \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n \"id\": + \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-07T21:07:25.637Z\",\n \"updated\": \"2020-07-07T21:07:25.637Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testerer\",\n - \ \"id\": \"gcsfs-testerer\",\n \"name\": \"gcsfs-testerer\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-06T16:25:54.924Z\",\n \"updated\": \"2020-07-06T16:25:54.924Z\",\n + \"2020-09-02T15:40:10.048Z\",\n \"updated\": \"2020-09-02T15:40:10.048Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n },\n @@ -2227,19 +1743,25 @@ interactions: \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/mdtemp\",\n \ \"id\": \"mdtemp\",\n \"name\": \"mdtemp\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"2\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAI=\",\n \"timeCreated\": - \"2018-04-10T01:17:29.182Z\",\n \"updated\": \"2018-05-10T16:59:01.351Z\",\n + \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n + \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": + \"2020-08-31T21:13:48.793Z\",\n \"updated\": \"2020-08-31T21:13:48.793Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n }\n \ ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '6406' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '4486' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -2284,35 +1806,11 @@ interactions: \ \"etag\": \"CAE=\",\n \"timeCreated\": \"2017-09-14T18:55:42.848Z\",\n \ \"updated\": \"2017-09-14T18:55:42.848Z\",\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-tester\",\n \"id\": \"gcsfs-tester\",\n - \ \"name\": \"gcsfs-tester\",\n \"projectNumber\": \"586241054156\",\n - \ \"metageneration\": \"1\",\n \"location\": \"US\",\n \"storageClass\": - \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": \"2020-07-08T18:43:14.054Z\",\n - \ \"updated\": \"2020-07-08T18:43:14.054Z\",\n \"iamConfiguration\": - {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n - \ \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n - \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": - \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:04.057Z\",\n \"updated\": \"2020-07-14T16:24:04.057Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-tester3\",\n - \ \"id\": \"gcsfs-tester3\",\n \"name\": \"gcsfs-tester3\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-07T21:07:25.637Z\",\n \"updated\": \"2020-07-07T21:07:25.637Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testerer\",\n - \ \"id\": \"gcsfs-testerer\",\n \"name\": \"gcsfs-testerer\",\n \"projectNumber\": + \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n \"id\": + \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-06T16:25:54.924Z\",\n \"updated\": \"2020-07-06T16:25:54.924Z\",\n + \"2020-09-02T15:40:10.048Z\",\n \"updated\": \"2020-09-02T15:40:10.048Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n },\n @@ -2327,19 +1825,25 @@ interactions: \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/mdtemp\",\n \ \"id\": \"mdtemp\",\n \"name\": \"mdtemp\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"2\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAI=\",\n \"timeCreated\": - \"2018-04-10T01:17:29.182Z\",\n \"updated\": \"2018-05-10T16:59:01.351Z\",\n + \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n + \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": + \"2020-08-31T21:13:48.793Z\",\n \"updated\": \"2020-08-31T21:13:48.793Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n }\n \ ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '6406' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '4486' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -2384,35 +1888,11 @@ interactions: \ \"etag\": \"CAE=\",\n \"timeCreated\": \"2017-09-14T18:55:42.848Z\",\n \ \"updated\": \"2017-09-14T18:55:42.848Z\",\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-tester\",\n \"id\": \"gcsfs-tester\",\n - \ \"name\": \"gcsfs-tester\",\n \"projectNumber\": \"586241054156\",\n - \ \"metageneration\": \"1\",\n \"location\": \"US\",\n \"storageClass\": - \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": \"2020-07-08T18:43:14.054Z\",\n - \ \"updated\": \"2020-07-08T18:43:14.054Z\",\n \"iamConfiguration\": - {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n - \ \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n - \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": - \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:04.057Z\",\n \"updated\": \"2020-07-14T16:24:04.057Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-tester3\",\n - \ \"id\": \"gcsfs-tester3\",\n \"name\": \"gcsfs-tester3\",\n \"projectNumber\": + \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n \"id\": + \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-07T21:07:25.637Z\",\n \"updated\": \"2020-07-07T21:07:25.637Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testerer\",\n - \ \"id\": \"gcsfs-testerer\",\n \"name\": \"gcsfs-testerer\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-06T16:25:54.924Z\",\n \"updated\": \"2020-07-06T16:25:54.924Z\",\n + \"2020-09-02T15:40:10.048Z\",\n \"updated\": \"2020-09-02T15:40:10.048Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n },\n @@ -2427,19 +1907,25 @@ interactions: \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/mdtemp\",\n \ \"id\": \"mdtemp\",\n \"name\": \"mdtemp\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"2\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAI=\",\n \"timeCreated\": - \"2018-04-10T01:17:29.182Z\",\n \"updated\": \"2018-05-10T16:59:01.351Z\",\n + \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n + \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": + \"2020-08-31T21:13:48.793Z\",\n \"updated\": \"2020-08-31T21:13:48.793Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n }\n \ ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '6406' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '4486' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -2484,35 +1970,11 @@ interactions: \ \"etag\": \"CAE=\",\n \"timeCreated\": \"2017-09-14T18:55:42.848Z\",\n \ \"updated\": \"2017-09-14T18:55:42.848Z\",\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-tester\",\n \"id\": \"gcsfs-tester\",\n - \ \"name\": \"gcsfs-tester\",\n \"projectNumber\": \"586241054156\",\n - \ \"metageneration\": \"1\",\n \"location\": \"US\",\n \"storageClass\": - \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": \"2020-07-08T18:43:14.054Z\",\n - \ \"updated\": \"2020-07-08T18:43:14.054Z\",\n \"iamConfiguration\": - {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n - \ \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n - \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": - \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:04.057Z\",\n \"updated\": \"2020-07-14T16:24:04.057Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-tester3\",\n - \ \"id\": \"gcsfs-tester3\",\n \"name\": \"gcsfs-tester3\",\n \"projectNumber\": + \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n \"id\": + \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-07T21:07:25.637Z\",\n \"updated\": \"2020-07-07T21:07:25.637Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testerer\",\n - \ \"id\": \"gcsfs-testerer\",\n \"name\": \"gcsfs-testerer\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-06T16:25:54.924Z\",\n \"updated\": \"2020-07-06T16:25:54.924Z\",\n + \"2020-09-02T15:40:10.048Z\",\n \"updated\": \"2020-09-02T15:40:10.048Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n },\n @@ -2527,19 +1989,25 @@ interactions: \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/mdtemp\",\n \ \"id\": \"mdtemp\",\n \"name\": \"mdtemp\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"2\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAI=\",\n \"timeCreated\": - \"2018-04-10T01:17:29.182Z\",\n \"updated\": \"2018-05-10T16:59:01.351Z\",\n + \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n + \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": + \"2020-08-31T21:13:48.793Z\",\n \"updated\": \"2020-08-31T21:13:48.793Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n }\n \ ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '6406' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '4486' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -2584,35 +2052,11 @@ interactions: \ \"etag\": \"CAE=\",\n \"timeCreated\": \"2017-09-14T18:55:42.848Z\",\n \ \"updated\": \"2017-09-14T18:55:42.848Z\",\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-tester\",\n \"id\": \"gcsfs-tester\",\n - \ \"name\": \"gcsfs-tester\",\n \"projectNumber\": \"586241054156\",\n - \ \"metageneration\": \"1\",\n \"location\": \"US\",\n \"storageClass\": - \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": \"2020-07-08T18:43:14.054Z\",\n - \ \"updated\": \"2020-07-08T18:43:14.054Z\",\n \"iamConfiguration\": - {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n - \ \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n - \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": - \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:04.057Z\",\n \"updated\": \"2020-07-14T16:24:04.057Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-tester3\",\n - \ \"id\": \"gcsfs-tester3\",\n \"name\": \"gcsfs-tester3\",\n \"projectNumber\": + \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n \"id\": + \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-07T21:07:25.637Z\",\n \"updated\": \"2020-07-07T21:07:25.637Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testerer\",\n - \ \"id\": \"gcsfs-testerer\",\n \"name\": \"gcsfs-testerer\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-06T16:25:54.924Z\",\n \"updated\": \"2020-07-06T16:25:54.924Z\",\n + \"2020-09-02T15:40:10.048Z\",\n \"updated\": \"2020-09-02T15:40:10.048Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n },\n @@ -2627,19 +2071,25 @@ interactions: \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/mdtemp\",\n \ \"id\": \"mdtemp\",\n \"name\": \"mdtemp\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"2\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAI=\",\n \"timeCreated\": - \"2018-04-10T01:17:29.182Z\",\n \"updated\": \"2018-05-10T16:59:01.351Z\",\n + \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n + \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": + \"2020-08-31T21:13:48.793Z\",\n \"updated\": \"2020-08-31T21:13:48.793Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n }\n \ ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '6406' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '4486' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -2684,35 +2134,11 @@ interactions: \ \"etag\": \"CAE=\",\n \"timeCreated\": \"2017-09-14T18:55:42.848Z\",\n \ \"updated\": \"2017-09-14T18:55:42.848Z\",\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-tester\",\n \"id\": \"gcsfs-tester\",\n - \ \"name\": \"gcsfs-tester\",\n \"projectNumber\": \"586241054156\",\n - \ \"metageneration\": \"1\",\n \"location\": \"US\",\n \"storageClass\": - \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": \"2020-07-08T18:43:14.054Z\",\n - \ \"updated\": \"2020-07-08T18:43:14.054Z\",\n \"iamConfiguration\": - {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n - \ \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n - \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": - \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:04.057Z\",\n \"updated\": \"2020-07-14T16:24:04.057Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-tester3\",\n - \ \"id\": \"gcsfs-tester3\",\n \"name\": \"gcsfs-tester3\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-07T21:07:25.637Z\",\n \"updated\": \"2020-07-07T21:07:25.637Z\",\n - \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": - false\n }\n },\n \"locationType\": \"multi-region\"\n },\n - \ {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testerer\",\n - \ \"id\": \"gcsfs-testerer\",\n \"name\": \"gcsfs-testerer\",\n \"projectNumber\": + \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n \"id\": + \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-06T16:25:54.924Z\",\n \"updated\": \"2020-07-06T16:25:54.924Z\",\n + \"2020-09-02T15:40:10.048Z\",\n \"updated\": \"2020-09-02T15:40:10.048Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n },\n @@ -2727,19 +2153,25 @@ interactions: \ },\n \"locationType\": \"multi-region\"\n },\n {\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/mdtemp\",\n \ \"id\": \"mdtemp\",\n \"name\": \"mdtemp\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"2\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAI=\",\n \"timeCreated\": - \"2018-04-10T01:17:29.182Z\",\n \"updated\": \"2018-05-10T16:59:01.351Z\",\n + \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n + \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": + \"2020-08-31T21:13:48.793Z\",\n \"updated\": \"2020-08-31T21:13:48.793Z\",\n \ \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n }\n \ ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '6406' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '4486' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_map_array.yaml b/gcsfs/tests/recordings/test_map_array.yaml index 8025999a..9636777d 100644 --- a/gcsfs/tests/recordings/test_map_array.yaml +++ b/gcsfs/tests/recordings/test_map_array.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAF3dDV8C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULne1I82+NTiHzLPQE7Oe - lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmz25KllYVNxZHViOXh1hblIzd9LBFmopst5Y6wh - L2QwQYhD8Cs8y+tn+UCoWEcf/P+X4wMEC22h4wAAAA== + H4sIAKvMT18C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULnc1K82+NTiHzLPQE7Oe + lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmz23FPLwqbiyOqKb4w15IUMJgjxEneRmr+XCLJQ + TeqUysEPwa/wLK+f5QOhYh198P9fjg+z0wad4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:29:19.428Z\",\n \"updated\": \"2020-07-14T16:29:19.428Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: null @@ -152,10 +136,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUm-JWF0Xcgar34tRX7sWMMYrda4XJeAd4XB1LUVlMMHaEO7cy7gky9M35hdpTTYziQtadZ9J3GPk8NiNEDt17HOOkirFA + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Ux_155OHokrrmVHglQMaOEvLp2drjHdc7AcprPmwkASdlAaGWs8H6z1fbU60NmbXWFxJaqLdPHNofVTZrC_pQ Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -170,30 +154,38 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUm-JWF0Xcgar34tRX7sWMMYrda4XJeAd4XB1LUVlMMHaEO7cy7gky9M35hdpTTYziQtadZ9J3GPk8NiNEDt17HOOkirFA + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Ux_155OHokrrmVHglQMaOEvLp2drjHdc7AcprPmwkASdlAaGWs8H6z1fbU60NmbXWFxJaqLdPHNofVTZrC_pQ response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1594744164273493\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599065260991121\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fx\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1594744164273493&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599065260991121&alt=media\",\n \ \"name\": \"mapping/x\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744164273493\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065260991121\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"1000\",\n \"md5Hash\": \"dkRnLQSSkPA5DZyZPH00PQ==\",\n - \ \"crc32c\": \"jS1TJA==\",\n \"etag\": \"CNWarfuUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:29:24.273Z\",\n \"updated\": \"2020-07-14T16:29:24.273Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:29:24.273Z\"\n}\n" + \ \"crc32c\": \"jS1TJA==\",\n \"etag\": \"CJHF6qb2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:40.990Z\",\n \"updated\": \"2020-09-02T16:47:40.990Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:40.990Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '745' - Content-Type: application/json; charset=UTF-8 - Etag: CNWarfuUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '741' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CJHF6qb2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUm-JWF0Xcgar34tRX7sWMMYrda4XJeAd4XB1LUVlMMHaEO7cy7gky9M35hdpTTYziQtadZ9J3GPk8NiNEDt17HOOkirFA + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Ux_155OHokrrmVHglQMaOEvLp2drjHdc7AcprPmwkASdlAaGWs8H6z1fbU60NmbXWFxJaqLdPHNofVTZrC_pQ - request: body: null headers: {} @@ -203,18 +195,31 @@ interactions: body: string: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '1000' - Content-Type: application/octet-stream - Etag: CNWarfuUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744164273493' - X-Goog-Hash: crc32c=jS1TJA==,md5=dkRnLQSSkPA5DZyZPH00PQ== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '1000' + Content-Type: + - application/octet-stream + Etag: + - CJHF6qb2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065260991121' + X-Goog-Hash: + - crc32c=jS1TJA==,md5=dkRnLQSSkPA5DZyZPH00PQ== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK @@ -223,49 +228,36 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"mapping/\"\n - \ ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '68' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1594744164273493\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599065260991121\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fx\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1594744164273493&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599065260991121&alt=media\",\n \ \"name\": \"mapping/x\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744164273493\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599065260991121\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"1000\",\n \"md5Hash\": \"dkRnLQSSkPA5DZyZPH00PQ==\",\n \"crc32c\": - \"jS1TJA==\",\n \"etag\": \"CNWarfuUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:29:24.273Z\",\n \"updated\": \"2020-07-14T16:29:24.273Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:29:24.273Z\"\n }\n ]\n}\n" + \"jS1TJA==\",\n \"etag\": \"CJHF6qb2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:40.990Z\",\n \"updated\": \"2020-09-02T16:47:40.990Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:40.990Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '871' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '867' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -295,21 +287,33 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_3q2C5iIHwtU_AAhaj-SwRYw\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_vCCOxlYaXys_AAFtw0PNJBs\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:29:25 GMT\r\n\r\n\r\n--batch_3q2C5iIHwtU_AAhaj-SwRYw--\r\n" + Wed, 02 Sep 2020 16:47:41 GMT\r\n\r\n\r\n--batch_vCCOxlYaXys_AAFtw0PNJBs--\r\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_3q2C5iIHwtU_AAhaj-SwRYw - Pragma: no-cache - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_vCCOxlYaXys_AAFtw0PNJBs + Pragma: + - no-cache + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_map_bytearray.yaml b/gcsfs/tests/recordings/test_map_bytearray.yaml index 6bae52ff..5f9a72b9 100644 --- a/gcsfs/tests/recordings/test_map_bytearray.yaml +++ b/gcsfs/tests/recordings/test_map_bytearray.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAGXdDV8C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULnc10s6+NTiHzLPQE7Oe - lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmy2MdaQFzKYIER1hZ9z1LKwqTjyJe8iNX8vEWSh - mtQplYMfgl/hWV4/ywdCxTr64P+/HB9GPeS/4wAAAA== + H4sIAK3MT18C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULnc1K82+NTiHzLPQE7Oe + lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmz23FPLwqbiyOqKb4w15IUMJgjxEneRmr+XCLJQ + TeqUysEPwa/wLK+f5QOhYh198P9fjg+z0wad4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:29:27.013Z\",\n \"updated\": \"2020-07-14T16:29:27.013Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: null @@ -152,10 +136,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUlyvPcq0xJ793Qn1seb2N1M6cGJ_jAePK6Ghxns2daIQcShEeWsYLFkY-zBtoH65d2QH4MjnKmTOe4-SdjuJMmiaV2XlQ + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxMzjfOmfC39trdS0PcNDAuqhIO_PBRrmoMH0IP0kJUybRnHS2cHN06JUYrqj2d9_GNjmbpVMCpr3zT4FvYkr55LnfQrQ Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -170,30 +154,38 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUlyvPcq0xJ793Qn1seb2N1M6cGJ_jAePK6Ghxns2daIQcShEeWsYLFkY-zBtoH65d2QH4MjnKmTOe4-SdjuJMmiaV2XlQ + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxMzjfOmfC39trdS0PcNDAuqhIO_PBRrmoMH0IP0kJUybRnHS2cHN06JUYrqj2d9_GNjmbpVMCpr3zT4FvYkr55LnfQrQ response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1594744167873564\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599065263437934\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fx\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1594744167873564&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599065263437934&alt=media\",\n \ \"name\": \"mapping/x\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744167873564\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065263437934\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"3\",\n \"md5Hash\": \"ICy5YqxZB1uWSwcVLSNLcA==\",\n - \ \"crc32c\": \"EHsvsg==\",\n \"etag\": \"CJz4iP2UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:29:27.873Z\",\n \"updated\": \"2020-07-14T16:29:27.873Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:29:27.873Z\"\n}\n" + \ \"crc32c\": \"EHsvsg==\",\n \"etag\": \"CO7w/6f2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:43.437Z\",\n \"updated\": \"2020-09-02T16:47:43.437Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:43.437Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '742' - Content-Type: application/json; charset=UTF-8 - Etag: CJz4iP2UzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '738' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CO7w/6f2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUlyvPcq0xJ793Qn1seb2N1M6cGJ_jAePK6Ghxns2daIQcShEeWsYLFkY-zBtoH65d2QH4MjnKmTOe4-SdjuJMmiaV2XlQ + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxMzjfOmfC39trdS0PcNDAuqhIO_PBRrmoMH0IP0kJUybRnHS2cHN06JUYrqj2d9_GNjmbpVMCpr3zT4FvYkr55LnfQrQ - request: body: null headers: {} @@ -203,18 +195,31 @@ interactions: body: string: '123' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '3' - Content-Type: application/octet-stream - Etag: CJz4iP2UzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744167873564' - X-Goog-Hash: crc32c=EHsvsg==,md5=ICy5YqxZB1uWSwcVLSNLcA== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '3' + Content-Type: + - application/octet-stream + Etag: + - CO7w/6f2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065263437934' + X-Goog-Hash: + - crc32c=EHsvsg==,md5=ICy5YqxZB1uWSwcVLSNLcA== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK @@ -223,49 +228,36 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"mapping/\"\n - \ ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '68' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1594744167873564\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599065263437934\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fx\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1594744167873564&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599065263437934&alt=media\",\n \ \"name\": \"mapping/x\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744167873564\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599065263437934\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"3\",\n \"md5Hash\": \"ICy5YqxZB1uWSwcVLSNLcA==\",\n \"crc32c\": - \"EHsvsg==\",\n \"etag\": \"CJz4iP2UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:29:27.873Z\",\n \"updated\": \"2020-07-14T16:29:27.873Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:29:27.873Z\"\n }\n ]\n}\n" + \"EHsvsg==\",\n \"etag\": \"CO7w/6f2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:43.437Z\",\n \"updated\": \"2020-09-02T16:47:43.437Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:43.437Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '868' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '864' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -295,21 +287,33 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_Vwldp30QYFs_AAM70LpF3XM\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_oAKsWWVm3TQ_AABHoHSv9Xc\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:29:28 GMT\r\n\r\n\r\n--batch_Vwldp30QYFs_AAM70LpF3XM--\r\n" + Wed, 02 Sep 2020 16:47:44 GMT\r\n\r\n\r\n--batch_oAKsWWVm3TQ_AABHoHSv9Xc--\r\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_Vwldp30QYFs_AAM70LpF3XM - Pragma: no-cache - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_oAKsWWVm3TQ_AABHoHSv9Xc + Pragma: + - no-cache + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_map_clear_empty.yaml b/gcsfs/tests/recordings/test_map_clear_empty.yaml index 889f3b3b..1e0a7f31 100644 --- a/gcsfs/tests/recordings/test_map_clear_empty.yaml +++ b/gcsfs/tests/recordings/test_map_clear_empty.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAFj3DV8C/4XPsQ7DIAwE0F9BzC3sGfsjkQVOggoYYSNSVfn3hnbqlPFON7x7a3AOmWehJ2Y9 - Kb3vu74pzY4KjryJFJ6s7b2blWiNCCWwcZQsNNmsi9T8vUSQhWpSV/PGWENeyGCCEC/np45aFjYV - R1YnKgc/gF/wLK+f8oFQsY4++P8vxwdVrNCv4wAAAA== + H4sIAKjMT18C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP + Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTZ79qllYVNxaHWVb4w15IUMJghRnSs5+MuWi9T8 + vUSQhWoagF/gWV4/ygdCxTr84P+/HB+fT0zw4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,56 +99,53 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T18:20:09.609Z\",\n \"updated\": \"2020-07-14T18:20:09.609Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1524' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ - request: body: null headers: {} @@ -168,12 +158,19 @@ interactions: \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '247' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found @@ -190,12 +187,19 @@ interactions: \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '247' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found @@ -209,11 +213,17 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -230,108 +240,47 @@ interactions: \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '247' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping -- request: - body: ' - - --===============7330845974216740156== - - Content-Type: application/http - - Content-Transfer-Encoding: binary - - Content-ID: - - - DELETE /storage/v1/b/gcsfs-testing/o/mapping HTTP/1.1 - - Content-Type: application/json - - accept: application/json - - content-length: 0 - - - --===============7330845974216740156==--' - headers: - Content-Type: - - multipart/mixed; boundary="===============7330845974216740156==" - method: POST - uri: https://www.googleapis.com/batch/storage/v1 - response: - body: - string: "--batch_bnE4y-TUiEo_AAJHj--8wB0\r\nContent-Type: application/http\r\nContent-ID: - \r\n\r\nHTTP/1.1 404 Not - Found\r\nContent-Type: application/json; charset=UTF-8\r\nDate: Tue, 14 Jul - 2020 18:20:10 GMT\r\nExpires: Tue, 14 Jul 2020 18:20:10 GMT\r\nCache-Control: - private, max-age=0\r\nContent-Length: 219\r\n\r\n{\n \"error\": {\n \"errors\": - [\n {\n \"domain\": \"global\",\n \"reason\": \"notFound\",\n \"message\": - \"No such object: gcsfs-testing/mapping\"\n }\n ],\n \"code\": 404,\n - \ \"message\": \"No such object: gcsfs-testing/mapping\"\n }\n}\n\r\n--batch_bnE4y-TUiEo_AAJHj--8wB0--\r\n" - headers: - Cache-Control: private, max-age=0 - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_bnE4y-TUiEo_AAJHj--8wB0 - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block - status: - code: 200 - message: OK - url: https://www.googleapis.com/batch/storage/v1 - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ - request: body: null headers: {} @@ -344,12 +293,19 @@ interactions: \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '247' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found @@ -358,20 +314,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ - request: body: null headers: {} @@ -384,198 +346,189 @@ interactions: \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '247' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - request: body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F + headers: + X-Upload-Content-Type: + - application/octet-stream + method: POST + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable response: body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" + string: '' headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 + Cache-Control: no-cache, no-store, max-age=0, must-revalidate + Content-Length: '0' + Content-Type: text/plain; charset=utf-8 + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uz8V8SGLwXjdZba5GuHFfETDDl9PxoR-8j3z08pCfOl5G9xMn1MXMEe1toYneojXiLOzl9bcPPJE4UdaOa0Pw + Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable +- request: + body: '1' + headers: + Content-Length: + - '1' + Content-Range: + - bytes 0-0/1 + Content-Type: + - application/octet-stream + method: POST + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uz8V8SGLwXjdZba5GuHFfETDDl9PxoR-8j3z08pCfOl5G9xMn1MXMEe1toYneojXiLOzl9bcPPJE4UdaOa0Pw + response: + body: + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/1/1599065258192864\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2F1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2F1?generation=1599065258192864&alt=media\",\n + \ \"name\": \"mapping/1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065258192864\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"1\",\n \"md5Hash\": \"xMpCOKC5I4INzFCab3WEmw==\",\n + \ \"crc32c\": \"kPWZ4w==\",\n \"etag\": \"CODfv6X2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:38.192Z\",\n \"updated\": \"2020-09-02T16:47:38.192Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:38.192Z\"\n}\n" + headers: + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '738' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CODfv6X2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uz8V8SGLwXjdZba5GuHFfETDDl9PxoR-8j3z08pCfOl5G9xMn1MXMEe1toYneojXiLOzl9bcPPJE4UdaOa0Pw - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F response: body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/1/1599065258192864\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2F1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2F1?generation=1599065258192864&alt=media\",\n + \ \"name\": \"mapping/1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065258192864\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"1\",\n \"md5Hash\": \"xMpCOKC5I4INzFCab3WEmw==\",\n \"crc32c\": + \"kPWZ4w==\",\n \"etag\": \"CODfv6X2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:38.192Z\",\n \"updated\": \"2020-09-02T16:47:38.192Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:38.192Z\"\n }\n ]\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '864' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F response: body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/1/1599065258192864\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2F1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2F1?generation=1599065258192864&alt=media\",\n + \ \"name\": \"mapping/1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065258192864\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"1\",\n \"md5Hash\": \"xMpCOKC5I4INzFCab3WEmw==\",\n \"crc32c\": + \"kPWZ4w==\",\n \"etag\": \"CODfv6X2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:38.192Z\",\n \"updated\": \"2020-09-02T16:47:38.192Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:38.192Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '864' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F response: body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/1/1599065258192864\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2F1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2F1?generation=1599065258192864&alt=media\",\n + \ \"name\": \"mapping/1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065258192864\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"1\",\n \"md5Hash\": \"xMpCOKC5I4INzFCab3WEmw==\",\n \"crc32c\": + \"kPWZ4w==\",\n \"etag\": \"CODfv6X2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:38.192Z\",\n \"updated\": \"2020-09-02T16:47:38.192Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:38.192Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '864' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ - request: body: null headers: {} @@ -588,72 +541,23 @@ interactions: \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '247' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping -- request: - body: null - headers: - X-Upload-Content-Type: - - application/octet-stream - method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUla0VKQUEfPSQFbzS5QTxucBifmg1vJpKOM4YvhRr9wT4iNvmyIZTSwaYk5e_bGiRNxH07dJVxGWga-YRlfX2u3xDcbhA - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable -- request: - body: '1' - headers: - Content-Length: - - '1' - Content-Range: - - bytes 0-0/1 - Content-Type: - - application/octet-stream - method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUla0VKQUEfPSQFbzS5QTxucBifmg1vJpKOM4YvhRr9wT4iNvmyIZTSwaYk5e_bGiRNxH07dJVxGWga-YRlfX2u3xDcbhA - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/1/1594750814574954\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2F1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2F1?generation=1594750814574954&alt=media\",\n - \ \"name\": \"mapping/1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594750814574954\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"1\",\n \"md5Hash\": \"xMpCOKC5I4INzFCab3WEmw==\",\n - \ \"crc32c\": \"kPWZ4w==\",\n \"etag\": \"COqyu96tzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T18:20:14.574Z\",\n \"updated\": \"2020-07-14T18:20:14.574Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T18:20:14.574Z\"\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '738' - Content-Type: application/json; charset=UTF-8 - Etag: COqyu96tzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUla0VKQUEfPSQFbzS5QTxucBifmg1vJpKOM4YvhRr9wT4iNvmyIZTSwaYk5e_bGiRNxH07dJVxGWga-YRlfX2u3xDcbhA - request: body: null headers: {} @@ -662,22 +566,28 @@ interactions: response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/1/1594750814574954\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/1/1599065258192864\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2F1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2F1?generation=1594750814574954&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2F1?generation=1599065258192864&alt=media\",\n \ \"name\": \"mapping/1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594750814574954\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599065258192864\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"1\",\n \"md5Hash\": \"xMpCOKC5I4INzFCab3WEmw==\",\n \"crc32c\": - \"kPWZ4w==\",\n \"etag\": \"COqyu96tzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T18:20:14.574Z\",\n \"updated\": \"2020-07-14T18:20:14.574Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T18:20:14.574Z\"\n }\n ]\n}\n" + \"kPWZ4w==\",\n \"etag\": \"CODfv6X2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:38.192Z\",\n \"updated\": \"2020-09-02T16:47:38.192Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:38.192Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '864' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '864' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -729,27 +639,38 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_djfseaoFn3A_AAUinQsyI_4\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_0M7ZZbaLnzs_AAF8SEF3DBI\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 404 Not - Found\r\nContent-Type: application/json; charset=UTF-8\r\nDate: Tue, 14 Jul - 2020 18:20:15 GMT\r\nExpires: Tue, 14 Jul 2020 18:20:15 GMT\r\nCache-Control: + Found\r\nContent-Type: application/json; charset=UTF-8\r\nDate: Wed, 02 Sep + 2020 16:47:39 GMT\r\nExpires: Wed, 02 Sep 2020 16:47:39 GMT\r\nCache-Control: private, max-age=0\r\nContent-Length: 219\r\n\r\n{\n \"error\": {\n \"errors\": [\n {\n \"domain\": \"global\",\n \"reason\": \"notFound\",\n \"message\": \"No such object: gcsfs-testing/mapping\"\n }\n ],\n \"code\": 404,\n - \ \"message\": \"No such object: gcsfs-testing/mapping\"\n }\n}\n\r\n--batch_djfseaoFn3A_AAUinQsyI_4\r\nContent-Type: + \ \"message\": \"No such object: gcsfs-testing/mapping\"\n }\n}\n\r\n--batch_0M7ZZbaLnzs_AAF8SEF3DBI\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 18:20:15 GMT\r\n\r\n\r\n--batch_djfseaoFn3A_AAUinQsyI_4--\r\n" + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:47:39 GMT\r\n\r\n\r\n--batch_0M7ZZbaLnzs_AAF8SEF3DBI--\r\n" headers: - Cache-Control: private, max-age=0 - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_djfseaoFn3A_AAUinQsyI_4 - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - private, max-age=0 + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_0M7ZZbaLnzs_AAF8SEF3DBI + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK @@ -758,246 +679,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ - request: body: null headers: {} @@ -1010,12 +711,19 @@ interactions: \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '247' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found @@ -1024,20 +732,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ - request: body: null headers: {} @@ -1050,12 +764,19 @@ interactions: \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '247' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found @@ -1064,36 +785,24 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ version: 1 diff --git a/gcsfs/tests/recordings/test_map_complex_keys.yaml b/gcsfs/tests/recordings/test_map_complex_keys.yaml index d2215553..ead48cdf 100644 --- a/gcsfs/tests/recordings/test_map_complex_keys.yaml +++ b/gcsfs/tests/recordings/test_map_complex_keys.yaml @@ -17,7 +17,7 @@ interactions: response: body: string: !!binary | - H4sIAE7dDV8C/4WPsQ7DIBBDfyVibmHP2B+JTnBJUIFD3CGoqvx7Qzt1ymTZsqzntwJrkXkRemJS + H4sIAKPMT18C/4WPsQ7DIBBDfyVibmHP2B+JTnBJUIFD3CGoqvx7Qzt1ymTZsqzntwJrkXkRemJS 86R67+o2KbaUcfhTknfTLpJ5Nqa1pjeiLSBkz9pSNFBlN+cM1SSsCw5/2a+MxaeVNEbw4bJuA1V3 zwFkpRIH4Bd4kdeP8oFQsIzcu/8vxwdcFoAW4wAAAA== headers: @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:29:04.377Z\",\n \"updated\": \"2020-07-14T16:29:04.377Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: null @@ -152,10 +136,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUli7-rL7epHsaZyKtRywUD7l3GPkd07fGWtdojg3XNUJhDmamjS_f6x6e33h4UP8BpWyOJpGMKQ3YqAWW_Q-FtuQ3A-Mg + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UzsQ2_EoHv_ftBYBwRNVEcdDSpnSEZGmP-OyNYlpl-fZPPJK_MSHxu4yGxlj06Q5jCcF3q5okSMfcl8BB74Gg Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -170,30 +154,38 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUli7-rL7epHsaZyKtRywUD7l3GPkd07fGWtdojg3XNUJhDmamjS_f6x6e33h4UP8BpWyOJpGMKQ3YqAWW_Q-FtuQ3A-Mg + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UzsQ2_EoHv_ftBYBwRNVEcdDSpnSEZGmP-OyNYlpl-fZPPJK_MSHxu4yGxlj06Q5jCcF3q5okSMfcl8BB74Gg response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/1/1594744145074479\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/1/1599065253107131\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2F1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2F1?generation=1594744145074479&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2F1?generation=1599065253107131&alt=media\",\n \ \"name\": \"mapping/1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744145074479\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065253107131\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"XUFAKrxLKna5cZ2REBfFkg==\",\n - \ \"crc32c\": \"mnG7TA==\",\n \"etag\": \"CK+ymfKUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:29:05.074Z\",\n \"updated\": \"2020-07-14T16:29:05.074Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:29:05.074Z\"\n}\n" + \ \"crc32c\": \"mnG7TA==\",\n \"etag\": \"CLuriaP2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:33.106Z\",\n \"updated\": \"2020-09-02T16:47:33.106Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:33.106Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '742' - Content-Type: application/json; charset=UTF-8 - Etag: CK+ymfKUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '738' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CLuriaP2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUli7-rL7epHsaZyKtRywUD7l3GPkd07fGWtdojg3XNUJhDmamjS_f6x6e33h4UP8BpWyOJpGMKQ3YqAWW_Q-FtuQ3A-Mg + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UzsQ2_EoHv_ftBYBwRNVEcdDSpnSEZGmP-OyNYlpl-fZPPJK_MSHxu4yGxlj06Q5jCcF3q5okSMfcl8BB74Gg - request: body: null headers: {} @@ -203,18 +195,31 @@ interactions: body: string: hello headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '5' - Content-Type: application/octet-stream - Etag: CK+ymfKUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744145074479' - X-Goog-Hash: crc32c=mnG7TA==,md5=XUFAKrxLKna5cZ2REBfFkg== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '5' + Content-Type: + - application/octet-stream + Etag: + - CLuriaP2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065253107131' + X-Goog-Hash: + - crc32c=mnG7TA==,md5=XUFAKrxLKna5cZ2REBfFkg== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK @@ -248,21 +253,33 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_Dzlrhkf0yig_AAj-hgRlLE0\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_c8V_j49uG48_AAKjRSwJqxI\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:29:05 GMT\r\n\r\n\r\n--batch_Dzlrhkf0yig_AAj-hgRlLE0--\r\n" + Wed, 02 Sep 2020 16:47:33 GMT\r\n\r\n\r\n--batch_c8V_j49uG48_AAKjRSwJqxI--\r\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_Dzlrhkf0yig_AAj-hgRlLE0 - Pragma: no-cache - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_c8V_j49uG48_AAKjRSwJqxI + Pragma: + - no-cache + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK @@ -281,10 +298,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUnnTNtV6LoMMuH2wntBP6oRvHjzrSkLgXmY9oxSEjEh7T5FMNJHOPfyBST8y-fUFE4IzkVWb9uUPNSwSfCxbSeKg_9RcQ + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxabrMV3i4GQko9CQ1ftomBgI3j_RR0ks_Kur64kPyFnPgrrTjgGKthaniYgjAZ5quj0TcnWVyxDdz1HRMYow Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -299,30 +316,38 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUnnTNtV6LoMMuH2wntBP6oRvHjzrSkLgXmY9oxSEjEh7T5FMNJHOPfyBST8y-fUFE4IzkVWb9uUPNSwSfCxbSeKg_9RcQ + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxabrMV3i4GQko9CQ1ftomBgI3j_RR0ks_Kur64kPyFnPgrrTjgGKthaniYgjAZ5quj0TcnWVyxDdz1HRMYow response: body: string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/(1, - 2)/1594744146472670\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2F(1,%202)\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2F(1,%202)?generation=1594744146472670&alt=media\",\n + 2)/1599065254223482\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2F(1,%202)\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2F(1,%202)?generation=1599065254223482&alt=media\",\n \ \"name\": \"mapping/(1, 2)\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744146472670\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065254223482\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CN7d7vKUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:29:06.472Z\",\n \"updated\": \"2020-07-14T16:29:06.472Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:29:06.472Z\"\n}\n" + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CPq8zaP2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:34.223Z\",\n \"updated\": \"2020-09-02T16:47:34.223Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:34.223Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '766' - Content-Type: application/json; charset=UTF-8 - Etag: CN7d7vKUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '762' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CPq8zaP2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUnnTNtV6LoMMuH2wntBP6oRvHjzrSkLgXmY9oxSEjEh7T5FMNJHOPfyBST8y-fUFE4IzkVWb9uUPNSwSfCxbSeKg_9RcQ + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxabrMV3i4GQko9CQ1ftomBgI3j_RR0ks_Kur64kPyFnPgrrTjgGKthaniYgjAZ5quj0TcnWVyxDdz1HRMYow - request: body: null headers: {} @@ -332,18 +357,31 @@ interactions: body: string: world headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '5' - Content-Type: application/octet-stream - Etag: CN7d7vKUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744146472670' - X-Goog-Hash: crc32c=MaqBTg==,md5=fXkwN6B2AYZXSwKC8vQ15w== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '5' + Content-Type: + - application/octet-stream + Etag: + - CPq8zaP2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065254223482' + X-Goog-Hash: + - crc32c=MaqBTg==,md5=fXkwN6B2AYZXSwKC8vQ15w== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK @@ -377,21 +415,33 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch__MWvXZMPDfc_AAavM0qo0_E\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_e0rkPxT6OsU_AAi_NMXhuf4\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:29:07 GMT\r\n\r\n\r\n--batch__MWvXZMPDfc_AAavM0qo0_E--\r\n" + Wed, 02 Sep 2020 16:47:34 GMT\r\n\r\n\r\n--batch_e0rkPxT6OsU_AAi_NMXhuf4--\r\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch__MWvXZMPDfc_AAavM0qo0_E - Pragma: no-cache - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_e0rkPxT6OsU_AAi_NMXhuf4 + Pragma: + - no-cache + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK @@ -410,10 +460,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUkNTqD6UnKUNGp9bdqYEcwFC-kd0wj7ep6i_f1JtaNR8QrRdCQkK_VYaFpz7K8MkJuomZNHULlrGK7Tg3BQetNdsg8TTA + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UzQT8ETo9MpwErBZ5bxhA-OhGGu9mBZMv8rOA1_0hDllZbrgrvqDnbwALc4-FiLlZgkpvqjLOH1GKlp5HoM4w Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -428,30 +478,38 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUkNTqD6UnKUNGp9bdqYEcwFC-kd0wj7ep6i_f1JtaNR8QrRdCQkK_VYaFpz7K8MkJuomZNHULlrGK7Tg3BQetNdsg8TTA + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UzQT8ETo9MpwErBZ5bxhA-OhGGu9mBZMv8rOA1_0hDllZbrgrvqDnbwALc4-FiLlZgkpvqjLOH1GKlp5HoM4w response: body: string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/('x', - 1, 2)/1594744147875089\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2F('x',%201,%202)\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2F('x',%201,%202)?generation=1594744147875089&alt=media\",\n + 1, 2)/1599065255177996\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2F('x',%201,%202)\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2F('x',%201,%202)?generation=1599065255177996&alt=media\",\n \ \"name\": \"mapping/('x', 1, 2)\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744147875089\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065255177996\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"11\",\n \"md5Hash\": \"XrY7u+Ae7tCTyyK7j1rNww==\",\n - \ \"crc32c\": \"yZRlqg==\",\n \"etag\": \"CJGqxPOUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:29:07.874Z\",\n \"updated\": \"2020-07-14T16:29:07.874Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:29:07.874Z\"\n}\n" + \ \"crc32c\": \"yZRlqg==\",\n \"etag\": \"CIzeh6T2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:35.177Z\",\n \"updated\": \"2020-09-02T16:47:35.177Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:35.177Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '791' - Content-Type: application/json; charset=UTF-8 - Etag: CJGqxPOUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '787' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CIzeh6T2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUkNTqD6UnKUNGp9bdqYEcwFC-kd0wj7ep6i_f1JtaNR8QrRdCQkK_VYaFpz7K8MkJuomZNHULlrGK7Tg3BQetNdsg8TTA + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UzQT8ETo9MpwErBZ5bxhA-OhGGu9mBZMv8rOA1_0hDllZbrgrvqDnbwALc4-FiLlZgkpvqjLOH1GKlp5HoM4w - request: body: null headers: {} @@ -461,18 +519,31 @@ interactions: body: string: hello world headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '11' - Content-Type: application/octet-stream - Etag: CJGqxPOUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744147875089' - X-Goog-Hash: crc32c=yZRlqg==,md5=XrY7u+Ae7tCTyyK7j1rNww== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '11' + Content-Type: + - application/octet-stream + Etag: + - CIzeh6T2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065255177996' + X-Goog-Hash: + - crc32c=yZRlqg==,md5=XrY7u+Ae7tCTyyK7j1rNww== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK @@ -485,21 +556,28 @@ interactions: response: body: string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/('x', - 1, 2)/1594744147875089\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2F('x',%201,%202)\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2F('x',%201,%202)?generation=1594744147875089&alt=media\",\n + 1, 2)/1599065255177996\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2F('x',%201,%202)\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2F('x',%201,%202)?generation=1599065255177996&alt=media\",\n \ \"name\": \"mapping/('x', 1, 2)\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744147875089\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065255177996\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"11\",\n \"md5Hash\": \"XrY7u+Ae7tCTyyK7j1rNww==\",\n - \ \"crc32c\": \"yZRlqg==\",\n \"etag\": \"CJGqxPOUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:29:07.874Z\",\n \"updated\": \"2020-07-14T16:29:07.874Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:29:07.874Z\"\n}\n" + \ \"crc32c\": \"yZRlqg==\",\n \"etag\": \"CIzeh6T2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:35.177Z\",\n \"updated\": \"2020-09-02T16:47:35.177Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:35.177Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '791' - Content-Type: application/json; charset=UTF-8 - Etag: CJGqxPOUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '787' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CIzeh6T2yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -512,21 +590,28 @@ interactions: response: body: string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/('x', - 1, 2)/1594744147875089\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2F('x',%201,%202)\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2F('x',%201,%202)?generation=1594744147875089&alt=media\",\n + 1, 2)/1599065255177996\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2F('x',%201,%202)\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2F('x',%201,%202)?generation=1599065255177996&alt=media\",\n \ \"name\": \"mapping/('x', 1, 2)\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744147875089\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065255177996\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"11\",\n \"md5Hash\": \"XrY7u+Ae7tCTyyK7j1rNww==\",\n - \ \"crc32c\": \"yZRlqg==\",\n \"etag\": \"CJGqxPOUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:29:07.874Z\",\n \"updated\": \"2020-07-14T16:29:07.874Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:29:07.874Z\"\n}\n" + \ \"crc32c\": \"yZRlqg==\",\n \"etag\": \"CIzeh6T2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:35.177Z\",\n \"updated\": \"2020-09-02T16:47:35.177Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:35.177Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '791' - Content-Type: application/json; charset=UTF-8 - Etag: CJGqxPOUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '787' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CIzeh6T2yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -535,49 +620,36 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"mapping/\"\n - \ ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '68' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/('x', 1, 2)/1594744147875089\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/('x', 1, 2)/1599065255177996\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2F('x',%201,%202)\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2F('x',%201,%202)?generation=1594744147875089&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2F('x',%201,%202)?generation=1599065255177996&alt=media\",\n \ \"name\": \"mapping/('x', 1, 2)\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744147875089\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065255177996\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"11\",\n \"md5Hash\": \"XrY7u+Ae7tCTyyK7j1rNww==\",\n - \ \"crc32c\": \"yZRlqg==\",\n \"etag\": \"CJGqxPOUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:29:07.874Z\",\n \"updated\": \"2020-07-14T16:29:07.874Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:29:07.874Z\"\n }\n ]\n}\n" + \ \"crc32c\": \"yZRlqg==\",\n \"etag\": \"CIzeh6T2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:35.177Z\",\n \"updated\": \"2020-09-02T16:47:35.177Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:35.177Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '917' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '913' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -607,21 +679,33 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_C3mSf4A0ve0_AASxXKwII58\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_qcD9P_BtCb4_AAI2_Y18jKw\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:29:08 GMT\r\n\r\n\r\n--batch_C3mSf4A0ve0_AASxXKwII58--\r\n" + Wed, 02 Sep 2020 16:47:35 GMT\r\n\r\n\r\n--batch_qcD9P_BtCb4_AAI2_Y18jKw--\r\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_C3mSf4A0ve0_AASxXKwII58 - Pragma: no-cache - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_qcD9P_BtCb4_AAI2_Y18jKw + Pragma: + - no-cache + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_map_default_gcsfilesystem.yaml b/gcsfs/tests/recordings/test_map_default_gcsfilesystem.yaml index 4a413479..a49356cc 100644 --- a/gcsfs/tests/recordings/test_map_default_gcsfilesystem.yaml +++ b/gcsfs/tests/recordings/test_map_default_gcsfilesystem.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAD/dDV8C/4XPsQ7DIAwE0F9BzC3sGfsjkQVOggoYYSNSVfn3hnbqlPFON7x7a3AOmWehJ2Y9 - Kb3vu74pzY4KjryJFJ6s7b2blWiNCCWwcZQsNNmsi9T8vUSQhWpSV/PGWENeyGCCEC/np45aFjYV - R1YnKgc/gF/wLK+f8oFQsY4++P8vxwdVrNCv4wAAAA== + H4sIAJvMT18C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP + Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTZ79qllYVNxaHWVb4w15IUMJghRnSs5+MuWi9T8 + vUSQhWoagF/gWV4/ygdCxTr84P+/HB+fT0zw4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,72 +99,51 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:28:48.898Z\",\n \"updated\": \"2020-07-14T16:28:48.898Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ version: 1 diff --git a/gcsfs/tests/recordings/test_map_errors.yaml b/gcsfs/tests/recordings/test_map_errors.yaml index 5c2ee86c..4a536eee 100644 --- a/gcsfs/tests/recordings/test_map_errors.yaml +++ b/gcsfs/tests/recordings/test_map_errors.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAEHdDV8C/4XPsQ7DIAwE0F9BzC3sGfsjkQVOggoYYSNSVfn3hnbqlPFON7x7a3AOmWehJ2Y9 - Kb3vu74pzY4KjryJFJ6s7b2blWiNCCWwcZQsNNmsi9T8vUSQhWpSV/PGWENeyGCCEC/np45aFjYV - R1YnKgc/gF/wLK+f8oFQsY4++P8vxwdVrNCv4wAAAA== + H4sIAJzMT18C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP + Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTbbGGvICxlMEKK6irtIzd9LBFmoJnWO5OAvWyck + tSxsKg49AL/As7x+lA+EinX4wf9/OT4eaDG04wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:28:51.058Z\",\n \"updated\": \"2020-07-14T16:28:51.058Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: null @@ -147,11 +131,17 @@ interactions: body: string: 'No such object: gcsfs-testing/mapping/nonexistent' headers: - Cache-Control: private, max-age=0 - Content-Length: '49' - Content-Type: text/html; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0 + Content-Length: + - '48' + Content-Type: + - text/html; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found @@ -160,36 +150,24 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ version: 1 diff --git a/gcsfs/tests/recordings/test_map_pickle.yaml b/gcsfs/tests/recordings/test_map_pickle.yaml index 94d860f7..088d6c72 100644 --- a/gcsfs/tests/recordings/test_map_pickle.yaml +++ b/gcsfs/tests/recordings/test_map_pickle.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAKXdDV8C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULne1I82+NTiHzLPQE7Oe - lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmz25KllYVNxZHViOXh1hblIzd9LBFmopst5Y6wh - L2QwQYhD8Cs8y+tn+UCoWEcf/P+X4wMEC22h4wAAAA== + H4sIALPMT18C/4XPsQ7DIAwE0F9BzC3sGfsjkQVOggoYYSNSVfn3hnbqlPFON7x7a3AOmWehJ2Y9 + Kb3vu74pzY4KjryJFJ6s7b2blWiNCCWwcZQsNNlsY6whL2QwQYjqau4iNX8vEWShmi7np45aFjYV + R1YnKgc/gF/wLK+f8oFQsY4++P8vxwcIgekt4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:30:30.716Z\",\n \"updated\": \"2020-07-14T16:30:30.716Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: null @@ -152,10 +136,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUlMJZBz1u55p61L_gmqu_gR0ZNhVQrPL7zj3cCWBPNiIHMwUGSZunxz8_84BVcVJV5c2BgQ0OvnLxRTR3qhLrtn7AELcA + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UyrC0nd9jRUUpP6H4sO79HEis0iKV79YlNtefTQGmFnguNXscaGm34sICg7eL-q3pO4z9GICB5-XXOKyGiF-mr8rh0tSA Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -170,58 +154,72 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUlMJZBz1u55p61L_gmqu_gR0ZNhVQrPL7zj3cCWBPNiIHMwUGSZunxz8_84BVcVJV5c2BgQ0OvnLxRTR3qhLrtn7AELcA + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UyrC0nd9jRUUpP6H4sO79HEis0iKV79YlNtefTQGmFnguNXscaGm34sICg7eL-q3pO4z9GICB5-XXOKyGiF-mr8rh0tSA response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1594744231576185\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599065268844953\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fx\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1594744231576185&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599065268844953&alt=media\",\n \ \"name\": \"mapping/x\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744231576185\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065268844953\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"10\",\n \"md5Hash\": \"6Afx/PgtEy+bsBjKZzihnw==\",\n - \ \"crc32c\": \"89vU/g==\",\n \"etag\": \"CPmEuZuVzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:30:31.576Z\",\n \"updated\": \"2020-07-14T16:30:31.576Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:30:31.576Z\"\n}\n" + \ \"crc32c\": \"89vU/g==\",\n \"etag\": \"CJnzyar2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:48.844Z\",\n \"updated\": \"2020-09-02T16:47:48.844Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:48.844Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '743' - Content-Type: application/json; charset=UTF-8 - Etag: CPmEuZuVzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '739' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CJnzyar2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUlMJZBz1u55p61L_gmqu_gR0ZNhVQrPL7zj3cCWBPNiIHMwUGSZunxz8_84BVcVJV5c2BgQ0OvnLxRTR3qhLrtn7AELcA + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UyrC0nd9jRUUpP6H4sO79HEis0iKV79YlNtefTQGmFnguNXscaGm34sICg7eL-q3pO4z9GICB5-XXOKyGiF-mr8rh0tSA - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1594744231576185\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599065268844953\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fx\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1594744231576185&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599065268844953&alt=media\",\n \ \"name\": \"mapping/x\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744231576185\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599065268844953\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"10\",\n \"md5Hash\": \"6Afx/PgtEy+bsBjKZzihnw==\",\n \"crc32c\": - \"89vU/g==\",\n \"etag\": \"CPmEuZuVzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:30:31.576Z\",\n \"updated\": \"2020-07-14T16:30:31.576Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:30:31.576Z\"\n }\n ]\n}\n" + \"89vU/g==\",\n \"etag\": \"CJnzyar2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:48.844Z\",\n \"updated\": \"2020-09-02T16:47:48.844Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:48.844Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '869' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '865' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ - request: body: null headers: {} @@ -231,18 +229,31 @@ interactions: body: string: '1234567890' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '10' - Content-Type: application/octet-stream - Etag: CPmEuZuVzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744231576185' - X-Goog-Hash: crc32c=89vU/g==,md5=6Afx/PgtEy+bsBjKZzihnw== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '10' + Content-Type: + - application/octet-stream + Etag: + - CJnzyar2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065268844953' + X-Goog-Hash: + - crc32c=89vU/g==,md5=6Afx/PgtEy+bsBjKZzihnw== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK @@ -251,21 +262,36 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"mapping/\"\n - \ ]\n}\n" + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599065268844953\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fx\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599065268844953&alt=media\",\n + \ \"name\": \"mapping/x\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065268844953\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"10\",\n \"md5Hash\": \"6Afx/PgtEy+bsBjKZzihnw==\",\n \"crc32c\": + \"89vU/g==\",\n \"etag\": \"CJnzyar2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:48.844Z\",\n \"updated\": \"2020-09-02T16:47:48.844Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:48.844Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '68' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '865' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -295,21 +321,33 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_le5D3TGykew_AAmwcIpAKlg\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_8GHyPYLo_Zs_AALhyvmD4Ic\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:30:32 GMT\r\n\r\n\r\n--batch_le5D3TGykew_AAmwcIpAKlg--\r\n" + Wed, 02 Sep 2020 16:47:49 GMT\r\n\r\n\r\n--batch_8GHyPYLo_Zs_AALhyvmD4Ic--\r\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_le5D3TGykew_AAmwcIpAKlg - Pragma: no-cache - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_8GHyPYLo_Zs_AALhyvmD4Ic + Pragma: + - no-cache + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_map_simple.yaml b/gcsfs/tests/recordings/test_map_simple.yaml index b3aaa71e..5ecc2e73 100644 --- a/gcsfs/tests/recordings/test_map_simple.yaml +++ b/gcsfs/tests/recordings/test_map_simple.yaml @@ -17,7 +17,7 @@ interactions: response: body: string: !!binary | - H4sIAPD2DV8C/4XPsQ7DIAwE0F9BzC3sGfsjkQVOggoYYSNSVfn3hnbqlPFON7x7a3AOmWehJ2Y9 + H4sIAJnMT18C/4XPsQ7DIAwE0F9BzC3sGfsjkQVOggoYYSNSVfn3hnbqlPFON7x7a3AOmWehJ2Y9 Kb3vu74pzY4KjryJFJ6s7b2blWiNCCWwcZQsNNmsi9T8vUSQhWpSV/PGWENeyGCCEC/np45aFjYV R1YnKgc/gF/wLK+f8oFQsY4++P8vxwdVrNCv4wAAAA== headers: @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,78 +99,53 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T18:18:25.747Z\",\n \"updated\": \"2020-07-14T18:18:25.747Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1524' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ - request: body: null headers: {} @@ -190,12 +158,19 @@ interactions: \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '247' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found @@ -204,20 +179,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ - request: body: null headers: {} @@ -230,12 +211,19 @@ interactions: \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '247' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found @@ -244,42 +232,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ - request: body: null headers: {} @@ -292,12 +264,19 @@ interactions: \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '247' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found @@ -306,20 +285,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ - request: body: null headers: {} @@ -332,12 +317,19 @@ interactions: \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '247' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found @@ -346,42 +338,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ - request: body: null headers: {} @@ -394,12 +370,19 @@ interactions: \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '247' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found @@ -408,20 +391,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ - request: body: null headers: {} @@ -434,12 +423,19 @@ interactions: \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '247' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found @@ -448,42 +444,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ - request: body: null headers: {} @@ -496,12 +476,19 @@ interactions: \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '247' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found @@ -510,20 +497,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ - request: body: null headers: {} @@ -536,12 +529,19 @@ interactions: \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '247' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found @@ -550,42 +550,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ - request: body: null headers: {} @@ -598,12 +582,19 @@ interactions: \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '247' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found @@ -612,892 +603,24 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ version: 1 diff --git a/gcsfs/tests/recordings/test_map_with_data.yaml b/gcsfs/tests/recordings/test_map_with_data.yaml index 227abf67..eca0cf3e 100644 --- a/gcsfs/tests/recordings/test_map_with_data.yaml +++ b/gcsfs/tests/recordings/test_map_with_data.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAED3DV8C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULne1I82+NTiHzLPQE7Oe - lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmy2MdaQFzKYIER1Ujl4dUW5SM3fSwRZqKbL+SlJ - LQubiiMPwa/wLK+f5QOhYh198P9fjg9b1v+I4wAAAA== + H4sIAJ7MT18C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP + Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTZ79qllYVNxaHWVd5Gav5cIslBN6lzJwV+2GmMN + eSGDCUIcgF/gWV4/ygdCxTr84P+/HB8gnzds4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T18:19:45.433Z\",\n \"updated\": \"2020-07-14T18:19:45.433Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1524' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: null @@ -152,10 +136,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUloCAhB9CZeTwbVULcoH0B4DuQ0BwGXrdZ4pvasglCSyEOrsysGJgwqT9wuEDPVf0IuMTnTEDPE4MBYpziL1GLBU4dkAA + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxnFm5QR6af8WVMa7-k9U6Yr0ezwgpG5adFDms_Ght5bVecv0uHGd21pVhNGz-inECnuna9_I2bdPYvEl-Kng Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -170,567 +154,784 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUloCAhB9CZeTwbVULcoH0B4DuQ0BwGXrdZ4pvasglCSyEOrsysGJgwqT9wuEDPVf0IuMTnTEDPE4MBYpziL1GLBU4dkAA + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxnFm5QR6af8WVMa7-k9U6Yr0ezwgpG5adFDms_Ght5bVecv0uHGd21pVhNGz-inECnuna9_I2bdPYvEl-Kng response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1594750786505358\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599065247305665\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fx\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1594750786505358&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599065247305665&alt=media\",\n \ \"name\": \"mapping/x\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594750786505358\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065247305665\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"3\",\n \"md5Hash\": \"ICy5YqxZB1uWSwcVLSNLcA==\",\n - \ \"crc32c\": \"EHsvsg==\",\n \"etag\": \"CI6VitGtzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T18:19:46.505Z\",\n \"updated\": \"2020-07-14T18:19:46.505Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T18:19:46.505Z\"\n}\n" + \ \"crc32c\": \"EHsvsg==\",\n \"etag\": \"CMGfp6D2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:27.305Z\",\n \"updated\": \"2020-09-02T16:47:27.305Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:27.305Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '738' - Content-Type: application/json; charset=UTF-8 - Etag: CI6VitGtzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '738' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CMGfp6D2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUloCAhB9CZeTwbVULcoH0B4DuQ0BwGXrdZ4pvasglCSyEOrsysGJgwqT9wuEDPVf0IuMTnTEDPE4MBYpziL1GLBU4dkAA + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxnFm5QR6af8WVMa7-k9U6Yr0ezwgpG5adFDms_Ght5bVecv0uHGd21pVhNGz-inECnuna9_I2bdPYvEl-Kng - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1594750786505358\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599065247305665\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fx\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1594750786505358&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599065247305665&alt=media\",\n \ \"name\": \"mapping/x\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594750786505358\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599065247305665\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"3\",\n \"md5Hash\": \"ICy5YqxZB1uWSwcVLSNLcA==\",\n \"crc32c\": - \"EHsvsg==\",\n \"etag\": \"CI6VitGtzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T18:19:46.505Z\",\n \"updated\": \"2020-07-14T18:19:46.505Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T18:19:46.505Z\"\n }\n ]\n}\n" + \"EHsvsg==\",\n \"etag\": \"CMGfp6D2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:27.305Z\",\n \"updated\": \"2020-09-02T16:47:27.305Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:27.305Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '864' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '864' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?alt=media + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F response: body: - string: '123' + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599065247305665\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fx\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599065247305665&alt=media\",\n + \ \"name\": \"mapping/x\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065247305665\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"3\",\n \"md5Hash\": \"ICy5YqxZB1uWSwcVLSNLcA==\",\n \"crc32c\": + \"EHsvsg==\",\n \"etag\": \"CMGfp6D2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:27.305Z\",\n \"updated\": \"2020-09-02T16:47:27.305Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:27.305Z\"\n }\n ]\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '3' - Content-Type: application/octet-stream - Etag: CI6VitGtzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594750786505358' - X-Goog-Hash: crc32c=EHsvsg==,md5=ICy5YqxZB1uWSwcVLSNLcA== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '864' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?alt=media + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?alt=media + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F response: body: - string: '123' + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599065247305665\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fx\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599065247305665&alt=media\",\n + \ \"name\": \"mapping/x\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065247305665\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"3\",\n \"md5Hash\": \"ICy5YqxZB1uWSwcVLSNLcA==\",\n \"crc32c\": + \"EHsvsg==\",\n \"etag\": \"CMGfp6D2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:27.305Z\",\n \"updated\": \"2020-09-02T16:47:27.305Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:27.305Z\"\n }\n ]\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '3' - Content-Type: application/octet-stream - Etag: CI6VitGtzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594750786505358' - X-Goog-Hash: crc32c=EHsvsg==,md5=ICy5YqxZB1uWSwcVLSNLcA== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '864' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?alt=media + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?alt=media + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F response: body: - string: '123' + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599065247305665\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fx\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599065247305665&alt=media\",\n + \ \"name\": \"mapping/x\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065247305665\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"3\",\n \"md5Hash\": \"ICy5YqxZB1uWSwcVLSNLcA==\",\n \"crc32c\": + \"EHsvsg==\",\n \"etag\": \"CMGfp6D2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:27.305Z\",\n \"updated\": \"2020-09-02T16:47:27.305Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:27.305Z\"\n }\n ]\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '3' - Content-Type: application/octet-stream - Etag: CI6VitGtzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594750786505358' - X-Goog-Hash: crc32c=EHsvsg==,md5=ICy5YqxZB1uWSwcVLSNLcA== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '864' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?alt=media + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ - request: body: null - headers: - X-Upload-Content-Type: - - application/octet-stream - method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F response: body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUnj-7Kz-yxxHEF97uY58ZCy3HfjhVEvjcQtQmiFC2O6zwA6yRazVP4cViFUOeFmdesMPR6KJjsoZeF7tPhm7_q35rljfQ - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable -- request: - body: '000' + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599065247305665\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fx\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599065247305665&alt=media\",\n + \ \"name\": \"mapping/x\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065247305665\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"3\",\n \"md5Hash\": \"ICy5YqxZB1uWSwcVLSNLcA==\",\n \"crc32c\": + \"EHsvsg==\",\n \"etag\": \"CMGfp6D2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:27.305Z\",\n \"updated\": \"2020-09-02T16:47:27.305Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:27.305Z\"\n }\n ]\n}\n" headers: + Cache-Control: + - private, max-age=0, must-revalidate, no-transform Content-Length: - - '3' - Content-Range: - - bytes 0-2/3 + - '864' Content-Type: - - application/octet-stream - method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUnj-7Kz-yxxHEF97uY58ZCy3HfjhVEvjcQtQmiFC2O6zwA6yRazVP4cViFUOeFmdesMPR6KJjsoZeF7tPhm7_q35rljfQ - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1594750787977450\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fx\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1594750787977450&alt=media\",\n - \ \"name\": \"mapping/x\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594750787977450\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"3\",\n \"md5Hash\": \"xvBXuGWElC5BVDX/sfqT1A==\",\n - \ \"crc32c\": \"gS9+1g==\",\n \"etag\": \"COqB5NGtzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T18:19:47.977Z\",\n \"updated\": \"2020-07-14T18:19:47.977Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T18:19:47.977Z\"\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '738' - Content-Type: application/json; charset=UTF-8 - Etag: COqB5NGtzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUnj-7Kz-yxxHEF97uY58ZCy3HfjhVEvjcQtQmiFC2O6zwA6yRazVP4cViFUOeFmdesMPR6KJjsoZeF7tPhm7_q35rljfQ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?alt=media + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F response: body: - string: '000' + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599065247305665\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fx\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599065247305665&alt=media\",\n + \ \"name\": \"mapping/x\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065247305665\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"3\",\n \"md5Hash\": \"ICy5YqxZB1uWSwcVLSNLcA==\",\n \"crc32c\": + \"EHsvsg==\",\n \"etag\": \"CMGfp6D2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:27.305Z\",\n \"updated\": \"2020-09-02T16:47:27.305Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:27.305Z\"\n }\n ]\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '3' - Content-Type: application/octet-stream - Etag: COqB5NGtzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594750787977450' - X-Goog-Hash: crc32c=gS9+1g==,md5=xvBXuGWElC5BVDX/sfqT1A== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '864' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?alt=media + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ - request: body: null - headers: - X-Upload-Content-Type: - - application/octet-stream - method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable + headers: {} + method: GET + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?alt=media response: body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUmuC4LJNRXOJl1z6zHrkHXfkFMDTn-TaW6YMTWEn0PzRqQS5vF6GfrXXCLUgBD9REAc--ITh2iMJ8aHpThNdlUz72lsMg - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable -- request: - body: '456' + string: '123' headers: + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment Content-Length: - '3' - Content-Range: - - bytes 0-2/3 Content-Type: - application/octet-stream - method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUmuC4LJNRXOJl1z6zHrkHXfkFMDTn-TaW6YMTWEn0PzRqQS5vF6GfrXXCLUgBD9REAc--ITh2iMJ8aHpThNdlUz72lsMg - response: - body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/y/1594750789177047\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fy\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fy?generation=1594750789177047&alt=media\",\n - \ \"name\": \"mapping/y\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594750789177047\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"3\",\n \"md5Hash\": \"JQz4tRx3Pz+NyLS+hnqaAg==\",\n - \ \"crc32c\": \"ZHjEjw==\",\n \"etag\": \"CNedrdKtzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T18:19:49.176Z\",\n \"updated\": \"2020-07-14T18:19:49.176Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T18:19:49.176Z\"\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '738' - Content-Type: application/json; charset=UTF-8 - Etag: CNedrdKtzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Etag: + - CMGfp6D2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065247305665' + X-Goog-Hash: + - crc32c=EHsvsg==,md5=ICy5YqxZB1uWSwcVLSNLcA== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUmuC4LJNRXOJl1z6zHrkHXfkFMDTn-TaW6YMTWEn0PzRqQS5vF6GfrXXCLUgBD9REAc--ITh2iMJ8aHpThNdlUz72lsMg + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?alt=media - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fy?alt=media + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F response: body: - string: '456' + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599065247305665\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fx\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599065247305665&alt=media\",\n + \ \"name\": \"mapping/x\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065247305665\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"3\",\n \"md5Hash\": \"ICy5YqxZB1uWSwcVLSNLcA==\",\n \"crc32c\": + \"EHsvsg==\",\n \"etag\": \"CMGfp6D2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:27.305Z\",\n \"updated\": \"2020-09-02T16:47:27.305Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:27.305Z\"\n }\n ]\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '3' - Content-Type: application/octet-stream - Etag: CNedrdKtzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594750789177047' - X-Goog-Hash: crc32c=ZHjEjw==,md5=JQz4tRx3Pz+NyLS+hnqaAg== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '864' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fy?alt=media + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1594750787977450\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599065247305665\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fx\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1594750787977450&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599065247305665&alt=media\",\n \ \"name\": \"mapping/x\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594750787977450\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"3\",\n \"md5Hash\": \"xvBXuGWElC5BVDX/sfqT1A==\",\n \"crc32c\": - \"gS9+1g==\",\n \"etag\": \"COqB5NGtzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T18:19:47.977Z\",\n \"updated\": \"2020-07-14T18:19:47.977Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T18:19:47.977Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/y/1594750789177047\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fy\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fy?generation=1594750789177047&alt=media\",\n - \ \"name\": \"mapping/y\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594750789177047\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599065247305665\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"3\",\n \"md5Hash\": \"JQz4tRx3Pz+NyLS+hnqaAg==\",\n \"crc32c\": - \"ZHjEjw==\",\n \"etag\": \"CNedrdKtzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T18:19:49.176Z\",\n \"updated\": \"2020-07-14T18:19:49.176Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T18:19:49.176Z\"\n }\n ]\n}\n" + \"3\",\n \"md5Hash\": \"ICy5YqxZB1uWSwcVLSNLcA==\",\n \"crc32c\": + \"EHsvsg==\",\n \"etag\": \"CMGfp6D2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:27.305Z\",\n \"updated\": \"2020-09-02T16:47:27.305Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:27.305Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1679' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '864' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ - request: - body: ' - - --===============7330845974216740156== - - Content-Type: application/http - - Content-Transfer-Encoding: binary - - Content-ID: - - - DELETE /storage/v1/b/gcsfs-testing/o/mapping HTTP/1.1 - - Content-Type: application/json - - accept: application/json - - content-length: 0 - - - --===============7330845974216740156== - - Content-Type: application/http - - Content-Transfer-Encoding: binary - - Content-ID: - - - DELETE /storage/v1/b/gcsfs-testing/o/mapping%2Fx HTTP/1.1 - - Content-Type: application/json - - accept: application/json - - content-length: 0 - - - --===============7330845974216740156== - - Content-Type: application/http - - Content-Transfer-Encoding: binary - - Content-ID: - - - DELETE /storage/v1/b/gcsfs-testing/o/mapping%2Fy HTTP/1.1 - - Content-Type: application/json - - accept: application/json - - content-length: 0 - - - --===============7330845974216740156==--' + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?alt=media + response: + body: + string: '123' headers: + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '3' Content-Type: - - multipart/mixed; boundary="===============7330845974216740156==" - method: POST - uri: https://www.googleapis.com/batch/storage/v1 + - application/octet-stream + Etag: + - CMGfp6D2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065247305665' + X-Goog-Hash: + - crc32c=EHsvsg==,md5=ICy5YqxZB1uWSwcVLSNLcA== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD + status: + code: 200 + message: OK + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?alt=media +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?alt=media response: body: - string: "--batch_gwiuS2A8j3Y_AAkMky_Xxos\r\nContent-Type: application/http\r\nContent-ID: - \r\n\r\nHTTP/1.1 404 Not - Found\r\nContent-Type: application/json; charset=UTF-8\r\nDate: Tue, 14 Jul - 2020 18:19:49 GMT\r\nExpires: Tue, 14 Jul 2020 18:19:49 GMT\r\nCache-Control: - private, max-age=0\r\nContent-Length: 219\r\n\r\n{\n \"error\": {\n \"errors\": - [\n {\n \"domain\": \"global\",\n \"reason\": \"notFound\",\n \"message\": - \"No such object: gcsfs-testing/mapping\"\n }\n ],\n \"code\": 404,\n - \ \"message\": \"No such object: gcsfs-testing/mapping\"\n }\n}\n\r\n--batch_gwiuS2A8j3Y_AAkMky_Xxos\r\nContent-Type: - application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 18:19:49 GMT\r\n\r\n\r\n--batch_gwiuS2A8j3Y_AAkMky_Xxos\r\nContent-Type: - application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 18:19:49 GMT\r\n\r\n\r\n--batch_gwiuS2A8j3Y_AAkMky_Xxos--\r\n" - headers: - Cache-Control: private, max-age=0 - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_gwiuS2A8j3Y_AAkMky_Xxos - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + string: '123' + headers: + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '3' + Content-Type: + - application/octet-stream + Etag: + - CMGfp6D2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065247305665' + X-Goog-Hash: + - crc32c=EHsvsg==,md5=ICy5YqxZB1uWSwcVLSNLcA== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK - url: https://www.googleapis.com/batch/storage/v1 + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?alt=media - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F response: body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599065247305665\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fx\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599065247305665&alt=media\",\n + \ \"name\": \"mapping/x\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065247305665\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"3\",\n \"md5Hash\": \"ICy5YqxZB1uWSwcVLSNLcA==\",\n \"crc32c\": + \"EHsvsg==\",\n \"etag\": \"CMGfp6D2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:27.305Z\",\n \"updated\": \"2020-09-02T16:47:27.305Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:27.305Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '864' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F response: body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599065247305665\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fx\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599065247305665&alt=media\",\n + \ \"name\": \"mapping/x\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065247305665\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"3\",\n \"md5Hash\": \"ICy5YqxZB1uWSwcVLSNLcA==\",\n \"crc32c\": + \"EHsvsg==\",\n \"etag\": \"CMGfp6D2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:27.305Z\",\n \"updated\": \"2020-09-02T16:47:27.305Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:27.305Z\"\n }\n ]\n}\n" + headers: + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '864' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ +- request: + body: null + headers: + X-Upload-Content-Type: + - application/octet-stream + method: POST + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable + response: + body: + string: '' headers: Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 + Content-Length: '0' + Content-Type: text/plain; charset=utf-8 + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxZkIBzWSzcG5UL8x4yjlt5hCddHyYXBVc7s-QbuOh5LvkIAt6LLm9ZYiuuWjcKbBTkOlUGi36jc0ztIbO-Fw Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping + code: 200 + message: OK + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable +- request: + body: '000' + headers: + Content-Length: + - '3' + Content-Range: + - bytes 0-2/3 + Content-Type: + - application/octet-stream + method: POST + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxZkIBzWSzcG5UL8x4yjlt5hCddHyYXBVc7s-QbuOh5LvkIAt6LLm9ZYiuuWjcKbBTkOlUGi36jc0ztIbO-Fw + response: + body: + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599065249817610\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fx\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599065249817610&alt=media\",\n + \ \"name\": \"mapping/x\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065249817610\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"3\",\n \"md5Hash\": \"xvBXuGWElC5BVDX/sfqT1A==\",\n + \ \"crc32c\": \"gS9+1g==\",\n \"etag\": \"CIrIwKH2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:29.817Z\",\n \"updated\": \"2020-09-02T16:47:29.817Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:29.817Z\"\n}\n" + headers: + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '738' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CIrIwKH2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxZkIBzWSzcG5UL8x4yjlt5hCddHyYXBVc7s-QbuOh5LvkIAt6LLm9ZYiuuWjcKbBTkOlUGi36jc0ztIbO-Fw - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?alt=media response: body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" + string: '000' + headers: + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '3' + Content-Type: + - application/octet-stream + Etag: + - CIrIwKH2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065249817610' + X-Goog-Hash: + - crc32c=gS9+1g==,md5=xvBXuGWElC5BVDX/sfqT1A== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD + status: + code: 200 + message: OK + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?alt=media +- request: + body: null + headers: + X-Upload-Content-Type: + - application/octet-stream + method: POST + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable + response: + body: + string: '' headers: Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 + Content-Length: '0' + Content-Type: text/plain; charset=utf-8 + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UyfKJvXIQDDVwjfYtCueGQYtSFlej2dBEWtsDQw2gfuivdOdoXWNHK9dLGOjP_YoDpNT3cH5DoStFDk4H4gHg Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping + code: 200 + message: OK + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable - request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F + body: '456' + headers: + Content-Length: + - '3' + Content-Range: + - bytes 0-2/3 + Content-Type: + - application/octet-stream + method: POST + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UyfKJvXIQDDVwjfYtCueGQYtSFlej2dBEWtsDQw2gfuivdOdoXWNHK9dLGOjP_YoDpNT3cH5DoStFDk4H4gHg response: body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/y/1599065250495092\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fy\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fy?generation=1599065250495092&alt=media\",\n + \ \"name\": \"mapping/y\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065250495092\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"3\",\n \"md5Hash\": \"JQz4tRx3Pz+NyLS+hnqaAg==\",\n + \ \"crc32c\": \"ZHjEjw==\",\n \"etag\": \"CPT06aH2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:30.494Z\",\n \"updated\": \"2020-09-02T16:47:30.494Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:30.494Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '738' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CPT06aH2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UyfKJvXIQDDVwjfYtCueGQYtSFlej2dBEWtsDQw2gfuivdOdoXWNHK9dLGOjP_YoDpNT3cH5DoStFDk4H4gHg - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fy?alt=media response: body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" + string: '456' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '3' + Content-Type: + - application/octet-stream + Etag: + - CPT06aH2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065250495092' + X-Goog-Hash: + - crc32c=ZHjEjw==,md5=JQz4tRx3Pz+NyLS+hnqaAg== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping + code: 200 + message: OK + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fy?alt=media - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F response: body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599065249817610\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fx\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599065249817610&alt=media\",\n + \ \"name\": \"mapping/x\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065249817610\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"3\",\n \"md5Hash\": \"xvBXuGWElC5BVDX/sfqT1A==\",\n \"crc32c\": + \"gS9+1g==\",\n \"etag\": \"CIrIwKH2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:29.817Z\",\n \"updated\": \"2020-09-02T16:47:29.817Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:29.817Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/y/1599065250495092\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fy\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fy?generation=1599065250495092&alt=media\",\n + \ \"name\": \"mapping/y\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065250495092\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"3\",\n \"md5Hash\": \"JQz4tRx3Pz+NyLS+hnqaAg==\",\n \"crc32c\": + \"ZHjEjw==\",\n \"etag\": \"CPT06aH2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:30.494Z\",\n \"updated\": \"2020-09-02T16:47:30.494Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:30.494Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '1679' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F response: body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599065249817610\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fx\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599065249817610&alt=media\",\n + \ \"name\": \"mapping/x\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065249817610\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"3\",\n \"md5Hash\": \"xvBXuGWElC5BVDX/sfqT1A==\",\n \"crc32c\": + \"gS9+1g==\",\n \"etag\": \"CIrIwKH2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:29.817Z\",\n \"updated\": \"2020-09-02T16:47:29.817Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:29.817Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/y/1599065250495092\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fy\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fy?generation=1599065250495092&alt=media\",\n + \ \"name\": \"mapping/y\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065250495092\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"3\",\n \"md5Hash\": \"JQz4tRx3Pz+NyLS+hnqaAg==\",\n \"crc32c\": + \"ZHjEjw==\",\n \"etag\": \"CPT06aH2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:30.494Z\",\n \"updated\": \"2020-09-02T16:47:30.494Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:30.494Z\"\n }\n ]\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '1679' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ - request: body: null headers: {} @@ -743,12 +944,19 @@ interactions: \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '247' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found @@ -760,79 +968,170 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F response: body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599065249817610\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fx\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599065249817610&alt=media\",\n + \ \"name\": \"mapping/x\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065249817610\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"3\",\n \"md5Hash\": \"xvBXuGWElC5BVDX/sfqT1A==\",\n \"crc32c\": + \"gS9+1g==\",\n \"etag\": \"CIrIwKH2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:29.817Z\",\n \"updated\": \"2020-09-02T16:47:29.817Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:29.817Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/y/1599065250495092\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fy\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fy?generation=1599065250495092&alt=media\",\n + \ \"name\": \"mapping/y\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065250495092\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"3\",\n \"md5Hash\": \"JQz4tRx3Pz+NyLS+hnqaAg==\",\n \"crc32c\": + \"ZHjEjw==\",\n \"etag\": \"CPT06aH2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:47:30.494Z\",\n \"updated\": \"2020-09-02T16:47:30.494Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:30.494Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '1679' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ - request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" + body: ' + + --===============7330845974216740156== + + Content-Type: application/http + + Content-Transfer-Encoding: binary + + Content-ID: + + + DELETE /storage/v1/b/gcsfs-testing/o/mapping HTTP/1.1 + + Content-Type: application/json + + accept: application/json + + content-length: 0 + + + --===============7330845974216740156== + + Content-Type: application/http + + Content-Transfer-Encoding: binary + + Content-ID: + + + DELETE /storage/v1/b/gcsfs-testing/o/mapping%2Fx HTTP/1.1 + + Content-Type: application/json + + accept: application/json + + content-length: 0 + + + --===============7330845974216740156== + + Content-Type: application/http + + Content-Transfer-Encoding: binary + + Content-ID: + + + DELETE /storage/v1/b/gcsfs-testing/o/mapping%2Fy HTTP/1.1 + + Content-Type: application/json + + accept: application/json + + content-length: 0 + + + --===============7330845974216740156==--' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F + Content-Type: + - multipart/mixed; boundary="===============7330845974216740156==" + method: POST + uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" + string: "--batch_aELymZ6h0Es_AAEX0nfnMPc\r\nContent-Type: application/http\r\nContent-ID: + \r\n\r\nHTTP/1.1 404 Not + Found\r\nContent-Type: application/json; charset=UTF-8\r\nDate: Wed, 02 Sep + 2020 16:47:31 GMT\r\nExpires: Wed, 02 Sep 2020 16:47:31 GMT\r\nCache-Control: + private, max-age=0\r\nContent-Length: 219\r\n\r\n{\n \"error\": {\n \"errors\": + [\n {\n \"domain\": \"global\",\n \"reason\": \"notFound\",\n \"message\": + \"No such object: gcsfs-testing/mapping\"\n }\n ],\n \"code\": 404,\n + \ \"message\": \"No such object: gcsfs-testing/mapping\"\n }\n}\n\r\n--batch_aELymZ6h0Es_AAEX0nfnMPc\r\nContent-Type: + application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:47:31 GMT\r\n\r\n\r\n--batch_aELymZ6h0Es_AAEX0nfnMPc\r\nContent-Type: + application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:47:31 GMT\r\n\r\n\r\n--batch_aELymZ6h0Es_AAEX0nfnMPc--\r\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0 + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_aELymZ6h0Es_AAEX0nfnMPc + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ + url: https://www.googleapis.com/batch/storage/v1 - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F response: body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n - \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" + string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ - request: body: null headers: {} @@ -845,12 +1144,19 @@ interactions: \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '247' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found @@ -859,20 +1165,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=mapping%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=mapping/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ - request: body: null headers: {} @@ -885,12 +1197,19 @@ interactions: \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '247' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '247' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found @@ -899,36 +1218,24 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ version: 1 diff --git a/gcsfs/tests/recordings/test_merge.yaml b/gcsfs/tests/recordings/test_merge.yaml index 517edcf3..dd237e7e 100644 --- a/gcsfs/tests/recordings/test_merge.yaml +++ b/gcsfs/tests/recordings/test_merge.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAA7dDV8C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULnc1K82+NTiHzLPQE7Oe - lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmz23FPLwqbiyOqKb4w15IUMJgjxEneRmr+XCLJQ - TeqUysEPwa/wLK+f5QOhYh198P9fjg+z0wad4wAAAA== + H4sIAH7MT18C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP + Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTbbGGvICxlMEKK6ip9z1LKwqTi0Oldy8Jc1F6n5 + e4kgC9U0AL/As7x+lA+EinX4wf9/OT5qoa7S4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:28:00.219Z\",\n \"updated\": \"2020-07-14T16:28:00.219Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: null @@ -152,10 +136,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUkCoeFZ_llx__Y_c3U0OAQ6M7PohTp_CfK9ItQLCy2Zk520hPjsabRBpZ2tafTLc-pEBVT3uludeXgniGVsnyL98fxhiA + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UwegBSs8YK9XhTXQNzPGeBvxhfueq_b6lbNvXRq9JDrTj-iZp_TZ37MvB_GWfi32_DmqsSii80UEpke7hIu4C7XM5E2lg Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -170,30 +154,38 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUkCoeFZ_llx__Y_c3U0OAQ6M7PohTp_CfK9ItQLCy2Zk520hPjsabRBpZ2tafTLc-pEBVT3uludeXgniGVsnyL98fxhiA + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UwegBSs8YK9XhTXQNzPGeBvxhfueq_b6lbNvXRq9JDrTj-iZp_TZ37MvB_GWfi32_DmqsSii80UEpke7hIu4C7XM5E2lg response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594744081173240\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065217145578\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744081173240&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065217145578&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744081173240\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065217145578\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"10\",\n \"md5Hash\": \"4JyAxC/aVfnZkuWcprMwfQ==\",\n - \ \"crc32c\": \"5yZkMA==\",\n \"etag\": \"CPiV3dOUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:28:01.173Z\",\n \"updated\": \"2020-07-14T16:28:01.173Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:28:01.173Z\"\n}\n" + \ \"crc32c\": \"5yZkMA==\",\n \"etag\": \"COq19pH2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:57.145Z\",\n \"updated\": \"2020-09-02T16:46:57.145Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:57.145Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '751' - Content-Type: application/json; charset=UTF-8 - Etag: CPiV3dOUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '747' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - COq19pH2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUkCoeFZ_llx__Y_c3U0OAQ6M7PohTp_CfK9ItQLCy2Zk520hPjsabRBpZ2tafTLc-pEBVT3uludeXgniGVsnyL98fxhiA + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UwegBSs8YK9XhTXQNzPGeBvxhfueq_b6lbNvXRq9JDrTj-iZp_TZ37MvB_GWfi32_DmqsSii80UEpke7hIu4C7XM5E2lg - request: body: null headers: @@ -208,10 +200,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUl19Bp2cb5ywXHUKB3kGfVEJeeeNqfN7sUWlzpO_ITRg3V33WViTlilMqNABh48XB3NRjaeuYQYRndSzmL4EQ29mqKMoQ + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uwa3bgUCP7vE7OIiJ3rL2zb25u5DMKZ3tBC3LeGZ2rr4iC2CmHcu269UbDE1lg7wm8-Qc7jg3kS74foKN9caLqAKVKZtA Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -226,30 +218,38 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUl19Bp2cb5ywXHUKB3kGfVEJeeeNqfN7sUWlzpO_ITRg3V33WViTlilMqNABh48XB3NRjaeuYQYRndSzmL4EQ29mqKMoQ + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uwa3bgUCP7vE7OIiJ3rL2zb25u5DMKZ3tBC3LeGZ2rr4iC2CmHcu269UbDE1lg7wm8-Qc7jg3kS74foKN9caLqAKVKZtA response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/b/1594744081971313\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/b/1599065217602432\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fb\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fb?generation=1594744081971313&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fb?generation=1599065217602432&alt=media\",\n \ \"name\": \"tmp/test/b\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744081971313\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065217602432\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"10\",\n \"md5Hash\": \"4JyAxC/aVfnZkuWcprMwfQ==\",\n - \ \"crc32c\": \"5yZkMA==\",\n \"etag\": \"CPHwjdSUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:28:01.971Z\",\n \"updated\": \"2020-07-14T16:28:01.971Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:28:01.971Z\"\n}\n" + \ \"crc32c\": \"5yZkMA==\",\n \"etag\": \"CICnkpL2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:57.602Z\",\n \"updated\": \"2020-09-02T16:46:57.602Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:57.602Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '751' - Content-Type: application/json; charset=UTF-8 - Etag: CPHwjdSUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '747' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CICnkpL2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUl19Bp2cb5ywXHUKB3kGfVEJeeeNqfN7sUWlzpO_ITRg3V33WViTlilMqNABh48XB3NRjaeuYQYRndSzmL4EQ29mqKMoQ + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uwa3bgUCP7vE7OIiJ3rL2zb25u5DMKZ3tBC3LeGZ2rr4iC2CmHcu269UbDE1lg7wm8-Qc7jg3kS74foKN9caLqAKVKZtA - request: body: null headers: @@ -259,23 +259,31 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/joined/compose response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/joined/1594744082593866\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/joined/1599065217933508\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/joined\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/joined?generation=1594744082593866&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/joined?generation=1599065217933508&alt=media\",\n \ \"name\": \"joined\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744082593866\",\n \"metageneration\": \"1\",\n \"storageClass\": \"STANDARD\",\n + \"1599065217933508\",\n \"metageneration\": \"1\",\n \"storageClass\": \"STANDARD\",\n \ \"size\": \"20\",\n \"crc32c\": \"gAyT5Q==\",\n \"componentCount\": 2,\n - \ \"etag\": \"CMrws9SUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:28:02.593Z\",\n - \ \"updated\": \"2020-07-14T16:28:02.593Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:28:02.593Z\"\n}\n" + \ \"etag\": \"CMTBppL2yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:57.933Z\",\n + \ \"updated\": \"2020-09-02T16:46:57.933Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:57.933Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '664' - Content-Type: application/json; charset=UTF-8 - Etag: CMrws9SUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '660' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CMTBppL2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -287,22 +295,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/joined response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/joined/1594744082593866\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/joined/1599065217933508\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/joined\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/joined?generation=1594744082593866&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/joined?generation=1599065217933508&alt=media\",\n \ \"name\": \"joined\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744082593866\",\n \"metageneration\": \"1\",\n \"storageClass\": \"STANDARD\",\n + \"1599065217933508\",\n \"metageneration\": \"1\",\n \"storageClass\": \"STANDARD\",\n \ \"size\": \"20\",\n \"crc32c\": \"gAyT5Q==\",\n \"componentCount\": 2,\n - \ \"etag\": \"CMrws9SUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:28:02.593Z\",\n - \ \"updated\": \"2020-07-14T16:28:02.593Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:28:02.593Z\"\n}\n" + \ \"etag\": \"CMTBppL2yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:57.933Z\",\n + \ \"updated\": \"2020-09-02T16:46:57.933Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:57.933Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '664' - Content-Type: application/json; charset=UTF-8 - Etag: CMrws9SUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '660' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CMTBppL2yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -311,86 +326,55 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"tmp/\"\n - \ ],\n \"items\": [\n {\n \"kind\": \"storage#object\",\n \"id\": - \"gcsfs-testing/joined/1594744082593866\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/joined\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/joined?generation=1594744082593866&alt=media\",\n + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/joined/1599065217933508\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/joined\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/joined?generation=1599065217933508&alt=media\",\n \ \"name\": \"joined\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744082593866\",\n \"metageneration\": \"1\",\n \"storageClass\": + \"1599065217933508\",\n \"metageneration\": \"1\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"20\",\n \"crc32c\": \"gAyT5Q==\",\n - \ \"componentCount\": 2,\n \"etag\": \"CMrws9SUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:28:02.593Z\",\n \"updated\": \"2020-07-14T16:28:02.593Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:28:02.593Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '818' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=tmp%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"tmp/test/\"\n - \ ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '69' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=tmp/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=tmp%2Ftest%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594744081173240\",\n + \ \"componentCount\": 2,\n \"etag\": \"CMTBppL2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:57.933Z\",\n \"updated\": \"2020-09-02T16:46:57.933Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:57.933Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065217145578\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744081173240&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065217145578&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744081173240\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599065217145578\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"10\",\n \"md5Hash\": \"4JyAxC/aVfnZkuWcprMwfQ==\",\n \"crc32c\": - \"5yZkMA==\",\n \"etag\": \"CPiV3dOUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:28:01.173Z\",\n \"updated\": \"2020-07-14T16:28:01.173Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:28:01.173Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/b/1594744081971313\",\n + \"5yZkMA==\",\n \"etag\": \"COq19pH2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:57.145Z\",\n \"updated\": \"2020-09-02T16:46:57.145Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:57.145Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/b/1599065217602432\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fb\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fb?generation=1594744081971313&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fb?generation=1599065217602432&alt=media\",\n \ \"name\": \"tmp/test/b\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744081971313\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599065217602432\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"10\",\n \"md5Hash\": \"4JyAxC/aVfnZkuWcprMwfQ==\",\n \"crc32c\": - \"5yZkMA==\",\n \"etag\": \"CPHwjdSUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:28:01.971Z\",\n \"updated\": \"2020-07-14T16:28:01.971Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:28:01.971Z\"\n }\n ]\n}\n" + \"5yZkMA==\",\n \"etag\": \"CICnkpL2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:57.602Z\",\n \"updated\": \"2020-09-02T16:46:57.602Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:57.602Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1705' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '2430' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=tmp/test/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -456,24 +440,35 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_qYnmfLL6caE_AAZK3c8Zum0\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_bcR8BkbgBJA_AALg_tt-Vao\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:28:03 GMT\r\n\r\n\r\n--batch_qYnmfLL6caE_AAZK3c8Zum0\r\nContent-Type: + Wed, 02 Sep 2020 16:46:58 GMT\r\n\r\n\r\n--batch_bcR8BkbgBJA_AALg_tt-Vao\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:28:03 GMT\r\n\r\n\r\n--batch_qYnmfLL6caE_AAZK3c8Zum0\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:58 GMT\r\n\r\n\r\n--batch_bcR8BkbgBJA_AALg_tt-Vao\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:28:03 GMT\r\n\r\n\r\n--batch_qYnmfLL6caE_AAZK3c8Zum0--\r\n" + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:58 GMT\r\n\r\n\r\n--batch_bcR8BkbgBJA_AALg_tt-Vao--\r\n" headers: - Cache-Control: private, max-age=0 - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_qYnmfLL6caE_AAZK3c8Zum0 - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - private, max-age=0 + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_bcR8BkbgBJA_AALg_tt-Vao + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_move.yaml b/gcsfs/tests/recordings/test_move.yaml index 7fdb5046..55fae423 100644 --- a/gcsfs/tests/recordings/test_move.yaml +++ b/gcsfs/tests/recordings/test_move.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAJncDV8C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULne1I82+NTiHzLPQE7Oe - lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmzWRWr+XiLIQjWpk8rBqyuqMdaQFzKYIMTL+SlJ - LQubiiMPwa/wLK+f5QOhYh198P9fjg+YY4lN4wAAAA== + H4sIADfMT18C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULnc10s6+NTiHzLPQE7Oe + lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmzWRWr+XiLIQjWpK/yco5aFTcWRL/nGWENeyGCC + ENUplYMfgl/hWV4/ywdCxTr64P+/HB90ZZ3Z4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:03.214Z\",\n \"updated\": \"2020-07-14T16:26:03.214Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: '--==0== @@ -168,24 +152,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594743963597091\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065145015434\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594743963597091&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065145015434&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743963597091\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065145015434\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"CKPy1JuUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:03.596Z\",\n - \ \"updated\": \"2020-07-14T16:26:03.596Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:03.596Z\"\n}\n" + \ \"etag\": \"CIr5w+/1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:45.015Z\",\n + \ \"updated\": \"2020-09-02T16:45:45.015Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:45.015Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CKPy1JuUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CIr5w+/1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -196,14 +188,20 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/file1"} + {"name": "2014-01-01.csv"} --==0== Content-Type: application/octet-stream - hello + name,amount,id + + Alice,100,1 + + Bob,200,2 + + Charlie,300,3 --==0==--' @@ -214,23 +212,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1594743963686332\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594743963686332&alt=media\",\n - \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743963686332\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CLyr2puUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:03.686Z\",\n \"updated\": \"2020-07-14T16:26:03.686Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:03.686Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065145087679\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065145087679&alt=media\",\n + \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065145087679\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CL+tyO/1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:45.087Z\",\n \"updated\": \"2020-09-02T16:45:45.087Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:45.087Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CLyr2puUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CL+tyO/1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -241,14 +247,20 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-02.csv"} + {"name": "test/accounts.2.json"} --==0== Content-Type: application/octet-stream - name,amount,id + {"amount": 500, "name": "Alice"} + + {"amount": 600, "name": "Bob"} + + {"amount": 700, "name": "Charlie"} + + {"amount": 800, "name": "Dennis"} --==0==--' @@ -259,23 +271,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594743963686547\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594743963686547&alt=media\",\n - \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743963686547\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CJOt2puUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:03.686Z\",\n \"updated\": \"2020-07-14T16:26:03.686Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:03.686Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065145132841\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065145132841&alt=media\",\n + \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065145132841\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n + \ \"etag\": \"CKmOy+/1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:45.132Z\",\n + \ \"updated\": \"2020-09-02T16:45:45.132Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:45.132Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CJOt2puUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CKmOy+/1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -286,20 +307,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "test/accounts.2.json"} + {"name": "nested/nested2/file1"} --==0== Content-Type: application/octet-stream - {"amount": 500, "name": "Alice"} - - {"amount": 600, "name": "Bob"} - - {"amount": 700, "name": "Charlie"} - - {"amount": 800, "name": "Dennis"} + hello --==0==--' @@ -310,24 +325,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594743963695461\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594743963695461&alt=media\",\n - \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743963695461\",\n \"metageneration\": \"1\",\n \"contentType\": + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065145138938\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065145138938&alt=media\",\n + \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065145138938\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n - \ \"etag\": \"COXy2puUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:03.695Z\",\n - \ \"updated\": \"2020-07-14T16:26:03.695Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:03.695Z\"\n}\n" + \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n \"crc32c\": \"NT3Yvg==\",\n + \ \"etag\": \"CPq9y+/1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:45.138Z\",\n + \ \"updated\": \"2020-09-02T16:45:45.138Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:45.138Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: COXy2puUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CPq9y+/1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -338,14 +361,15 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/file2"} + {"name": "2014-01-02.csv"} --==0== Content-Type: application/octet-stream - world + name,amount,id + --==0==--' headers: @@ -355,23 +379,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594743963697070\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594743963697070&alt=media\",\n - \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743963697070\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CK7/2puUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:03.696Z\",\n \"updated\": \"2020-07-14T16:26:03.696Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:03.696Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065145144497\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065145144497&alt=media\",\n + \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065145144497\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CLHpy+/1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:45.144Z\",\n \"updated\": \"2020-09-02T16:45:45.144Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:45.144Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CK7/2puUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CLHpy+/1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -382,21 +414,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-03.csv"} + {"name": "nested/file2"} --==0== Content-Type: application/octet-stream - name,amount,id - - Dennis,400,4 - - Edith,500,5 - - Frank,600,6 - + world --==0==--' headers: @@ -406,23 +431,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594743963707812\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594743963707812&alt=media\",\n - \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743963707812\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CKTT25uUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:03.707Z\",\n \"updated\": \"2020-07-14T16:26:03.707Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:03.707Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065145150017\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065145150017&alt=media\",\n + \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065145150017\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CMGUzO/1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:45.149Z\",\n \"updated\": \"2020-09-02T16:45:45.149Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:45.149Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CKTT25uUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CMGUzO/1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -433,7 +466,7 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/nested2/file1"} + {"name": "nested/file1"} --==0== @@ -451,24 +484,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594743963730349\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594743963730349&alt=media\",\n - \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743963730349\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n \"crc32c\": \"NT3Yvg==\",\n - \ \"etag\": \"CK2D3ZuUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:03.730Z\",\n - \ \"updated\": \"2020-07-14T16:26:03.730Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:03.730Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065145162669\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065145162669&alt=media\",\n + \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065145162669\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CK33zO/1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:45.162Z\",\n \"updated\": \"2020-09-02T16:45:45.162Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:45.162Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: CK2D3ZuUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CK33zO/1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -496,24 +536,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594743964699221\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065145166279\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594743964699221&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065145166279&alt=media\",\n \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743964699221\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065145166279\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n \"crc32c\": \"MaqBTg==\",\n - \ \"etag\": \"CNWUmJyUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:04.699Z\",\n - \ \"updated\": \"2020-07-14T16:26:04.699Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:04.699Z\"\n}\n" + \ \"etag\": \"CMeTze/1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:45.166Z\",\n + \ \"updated\": \"2020-09-02T16:45:45.166Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:45.166Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: CNWUmJyUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CMeTze/1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -524,7 +572,7 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-01.csv"} + {"name": "2014-01-03.csv"} --==0== @@ -533,11 +581,11 @@ interactions: name,amount,id - Alice,100,1 + Dennis,400,4 - Bob,200,2 + Edith,500,5 - Charlie,300,3 + Frank,600,6 --==0==--' @@ -548,23 +596,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1594743964699384\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594743964699384&alt=media\",\n - \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743964699384\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CPiVmJyUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:04.699Z\",\n \"updated\": \"2020-07-14T16:26:04.699Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:04.699Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065145273093\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065145273093&alt=media\",\n + \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065145273093\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CIXW0+/1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:45.272Z\",\n \"updated\": \"2020-09-02T16:45:45.272Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:45.272Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CPiVmJyUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CIXW0+/1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -586,18 +642,31 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '133' - Content-Type: application/octet-stream - Etag: CKPy1JuUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594743963597091' - X-Goog-Hash: crc32c=6wJAgQ==,md5=xK7pmJz/Oj5HGIyfQpYTig== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '133' + Content-Type: + - application/octet-stream + Etag: + - CIr5w+/1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065145015434' + X-Goog-Hash: + - crc32c=6wJAgQ==,md5=xK7pmJz/Oj5HGIyfQpYTig== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK @@ -613,24 +682,31 @@ interactions: body: string: "{\n \"kind\": \"storage#rewriteResponse\",\n \"totalBytesRewritten\": \"133\",\n \"objectSize\": \"133\",\n \"done\": true,\n \"resource\": {\n - \ \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json2/1594743965395196\",\n + \ \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json2/1599065145579256\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json2?generation=1594743965395196&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json2?generation=1599065145579256&alt=media\",\n \ \"name\": \"test/accounts.1.json2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743965395196\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065145579256\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n - \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CPzRwpyUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:05.395Z\",\n \"updated\": \"2020-07-14T16:26:05.395Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:05.395Z\",\n \"owner\": + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CPit5u/1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:45.579Z\",\n \"updated\": \"2020-09-02T16:45:45.579Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:45.579Z\",\n \"owner\": {\n \"entity\": \"user-mdurant@anaconda.com\"\n }\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1020' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '1016' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -664,21 +740,33 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_4BL-5Ep5JPg_AAWIQw72Xsg\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_t4MlBFAstOg_AAFFqRtop_0\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:26:05 GMT\r\n\r\n\r\n--batch_4BL-5Ep5JPg_AAWIQw72Xsg--\r\n" + Wed, 02 Sep 2020 16:45:45 GMT\r\n\r\n\r\n--batch_t4MlBFAstOg_AAFFqRtop_0--\r\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_4BL-5Ep5JPg_AAWIQw72Xsg - Pragma: no-cache - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_t4MlBFAstOg_AAFFqRtop_0 + Pragma: + - no-cache + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK @@ -700,18 +788,31 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '133' - Content-Type: application/octet-stream - Etag: CPzRwpyUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594743965395196' - X-Goog-Hash: crc32c=6wJAgQ==,md5=xK7pmJz/Oj5HGIyfQpYTig== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '133' + Content-Type: + - application/octet-stream + Etag: + - CPit5u/1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065145579256' + X-Goog-Hash: + - crc32c=6wJAgQ==,md5=xK7pmJz/Oj5HGIyfQpYTig== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK @@ -728,12 +829,19 @@ interactions: \"No such object: gcsfs-testing/test/accounts.1.json\",\n \"domain\": \"global\",\n \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '275' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '273' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found @@ -747,11 +855,17 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -768,12 +882,19 @@ interactions: \"No such object: gcsfs-testing/test/accounts.1.json\",\n \"domain\": \"global\",\n \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '275' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '273' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found @@ -782,165 +903,116 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/\",\n - \ \"test/\"\n ],\n \"items\": [\n {\n \"kind\": \"storage#object\",\n - \ \"id\": \"gcsfs-testing/2014-01-01.csv/1594743964699384\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594743964699384&alt=media\",\n + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065145087679\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065145087679&alt=media\",\n \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743964699384\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065145087679\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CPiVmJyUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:04.699Z\",\n \"updated\": \"2020-07-14T16:26:04.699Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:04.699Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594743963686547\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CL+tyO/1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:45.087Z\",\n \"updated\": \"2020-09-02T16:45:45.087Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:45.087Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065145144497\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594743963686547&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065145144497&alt=media\",\n \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743963686547\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065145144497\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CJOt2puUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:03.686Z\",\n \"updated\": \"2020-07-14T16:26:03.686Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:03.686Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594743963707812\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CLHpy+/1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:45.144Z\",\n \"updated\": \"2020-09-02T16:45:45.144Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:45.144Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065145273093\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594743963707812&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065145273093&alt=media\",\n \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743963707812\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065145273093\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CKTT25uUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:03.707Z\",\n \"updated\": \"2020-07-14T16:26:03.707Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:03.707Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '2605' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/nested2/\"\n - \ ],\n \"items\": [\n {\n \"kind\": \"storage#object\",\n \"id\": - \"gcsfs-testing/nested/file1/1594743963686332\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594743963686332&alt=media\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CIXW0+/1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:45.272Z\",\n \"updated\": \"2020-09-02T16:45:45.272Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:45.272Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065145162669\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065145162669&alt=media\",\n \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743963686332\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065145162669\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CLyr2puUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:03.686Z\",\n \"updated\": \"2020-07-14T16:26:03.686Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:03.686Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594743963697070\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CK33zO/1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:45.162Z\",\n \"updated\": \"2020-09-02T16:45:45.162Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:45.162Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065145150017\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594743963697070&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065145150017&alt=media\",\n \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743963697070\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065145150017\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CK7/2puUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:03.696Z\",\n \"updated\": \"2020-07-14T16:26:03.696Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:03.696Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1754' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2Fnested2%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594743963730349\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CMGUzO/1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:45.149Z\",\n \"updated\": \"2020-09-02T16:45:45.149Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:45.149Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065145138938\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594743963730349&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065145138938&alt=media\",\n \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743963730349\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065145138938\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CK2D3ZuUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:03.730Z\",\n \"updated\": \"2020-07-14T16:26:03.730Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:03.730Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594743964699221\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CPq9y+/1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:45.138Z\",\n \"updated\": \"2020-09-02T16:45:45.138Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:45.138Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065145166279\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594743964699221&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065145166279&alt=media\",\n \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743964699221\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065145166279\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CNWUmJyUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:04.699Z\",\n \"updated\": \"2020-07-14T16:26:04.699Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:04.699Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1783' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/nested2/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=test%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json2/1594743965395196\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CMeTze/1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:45.166Z\",\n \"updated\": \"2020-09-02T16:45:45.166Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:45.166Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json2/1599065145579256\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json2?generation=1594743965395196&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json2?generation=1599065145579256&alt=media\",\n \ \"name\": \"test/accounts.1.json2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743965395196\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065145579256\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n - \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CPzRwpyUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:05.395Z\",\n \"updated\": \"2020-07-14T16:26:05.395Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:05.395Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594743963695461\",\n + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CPit5u/1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:45.579Z\",\n \"updated\": \"2020-09-02T16:45:45.579Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:45.579Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065145132841\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594743963695461&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065145132841&alt=media\",\n \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743963695461\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065145132841\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n - \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"COXy2puUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:03.695Z\",\n \"updated\": \"2020-07-14T16:26:03.695Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:03.695Z\"\n }\n ]\n}\n" + \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CKmOy+/1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:45.132Z\",\n \"updated\": \"2020-09-02T16:45:45.132Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:45.132Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1783' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '7651' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=test/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -1114,36 +1186,47 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_IRWmIgjE1zQ_AAhaYeLiTwY\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_jKeLDg4imNM_AAc3CSzJjG4\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:26:07 GMT\r\n\r\n\r\n--batch_IRWmIgjE1zQ_AAhaYeLiTwY\r\nContent-Type: + Wed, 02 Sep 2020 16:45:46 GMT\r\n\r\n\r\n--batch_jKeLDg4imNM_AAc3CSzJjG4\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:07 GMT\r\n\r\n\r\n--batch_IRWmIgjE1zQ_AAhaYeLiTwY\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:46 GMT\r\n\r\n\r\n--batch_jKeLDg4imNM_AAc3CSzJjG4\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:07 GMT\r\n\r\n\r\n--batch_IRWmIgjE1zQ_AAhaYeLiTwY\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:46 GMT\r\n\r\n\r\n--batch_jKeLDg4imNM_AAc3CSzJjG4\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:07 GMT\r\n\r\n\r\n--batch_IRWmIgjE1zQ_AAhaYeLiTwY\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:46 GMT\r\n\r\n\r\n--batch_jKeLDg4imNM_AAc3CSzJjG4\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:07 GMT\r\n\r\n\r\n--batch_IRWmIgjE1zQ_AAhaYeLiTwY\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:46 GMT\r\n\r\n\r\n--batch_jKeLDg4imNM_AAc3CSzJjG4\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:07 GMT\r\n\r\n\r\n--batch_IRWmIgjE1zQ_AAhaYeLiTwY\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:46 GMT\r\n\r\n\r\n--batch_jKeLDg4imNM_AAc3CSzJjG4\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:07 GMT\r\n\r\n\r\n--batch_IRWmIgjE1zQ_AAhaYeLiTwY\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:46 GMT\r\n\r\n\r\n--batch_jKeLDg4imNM_AAc3CSzJjG4\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:07 GMT\r\n\r\n\r\n--batch_IRWmIgjE1zQ_AAhaYeLiTwY\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:46 GMT\r\n\r\n\r\n--batch_jKeLDg4imNM_AAc3CSzJjG4\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:07 GMT\r\n\r\n\r\n--batch_IRWmIgjE1zQ_AAhaYeLiTwY--\r\n" + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:46 GMT\r\n\r\n\r\n--batch_jKeLDg4imNM_AAc3CSzJjG4--\r\n" headers: - Cache-Control: private, max-age=0 - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_IRWmIgjE1zQ_AAhaYeLiTwY - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - private, max-age=0 + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_jKeLDg4imNM_AAc3CSzJjG4 + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_multi_upload.yaml b/gcsfs/tests/recordings/test_multi_upload.yaml index e935222e..b25b1678 100644 --- a/gcsfs/tests/recordings/test_multi_upload.yaml +++ b/gcsfs/tests/recordings/test_multi_upload.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIADjcDV8C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULne1I82+NTiHzLPQE7Oe - lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmy2MdaQFzKYIER1Ujl4dUW5SM3fSwRZqKbL+SlJ - LQubiiMPwa/wLK+f5QOhYh198P9fjg9b1v+I4wAAAA== + H4sIAPvLT18C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP + Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTZ79qllYVNxaHWVd5Gav5cIslBN6lzJwV+2GmMN + eSGDCUIcgF/gWV4/ygdCxTr84P+/HB8gnzds4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:26.109Z\",\n \"updated\": \"2020-07-14T16:24:26.109Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: null @@ -152,16 +136,16 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUmWrP8xLBcpkzLYnOvl6lODOd2diIX2-67727LRnQzhpj6oeeTM5E7-GF_Ujux5xqxhDUwcWKZ8aqZdWebIXquNkqmXxQ + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxCmpkS8aWNU2EG7jLjWrwmEkzRdtIgXqQG7jwP7qM4x_HDfeejKgtEDZpbtqSAsyQCX2qQ95i07WSxwUM9Lg Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable - request: - body: null + body: xx headers: Accept: - '*/*' @@ -176,20 +160,25 @@ interactions: Host: - www.googleapis.com method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUmWrP8xLBcpkzLYnOvl6lODOd2diIX2-67727LRnQzhpj6oeeTM5E7-GF_Ujux5xqxhDUwcWKZ8aqZdWebIXquNkqmXxQ + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxCmpkS8aWNU2EG7jLjWrwmEkzRdtIgXqQG7jwP7qM4x_HDfeejKgtEDZpbtqSAsyQCX2qQ95i07WSxwUM9Lg response: body: string: '' headers: - Content-Length: '0' - Content-Type: text/plain; charset=utf-8 - Range: bytes=0-262143 - Server: UploadServer - X-Range-MD5: e7133172f24d32e27741a2e269ea6f78 + Content-Length: + - '0' + Content-Type: + - text/plain; charset=utf-8 + Range: + - bytes=0-262143 + Server: + - UploadServer + X-Range-MD5: + - e7133172f24d32e27741a2e269ea6f78 status: code: 308 message: Resume Incomplete - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUmWrP8xLBcpkzLYnOvl6lODOd2diIX2-67727LRnQzhpj6oeeTM5E7-GF_Ujux5xqxhDUwcWKZ8aqZdWebIXquNkqmXxQ + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxCmpkS8aWNU2EG7jLjWrwmEkzRdtIgXqQG7jwP7qM4x_HDfeejKgtEDZpbtqSAsyQCX2qQ95i07WSxwUM9Lg - request: body: null headers: @@ -206,20 +195,25 @@ interactions: Host: - www.googleapis.com method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUmWrP8xLBcpkzLYnOvl6lODOd2diIX2-67727LRnQzhpj6oeeTM5E7-GF_Ujux5xqxhDUwcWKZ8aqZdWebIXquNkqmXxQ + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxCmpkS8aWNU2EG7jLjWrwmEkzRdtIgXqQG7jwP7qM4x_HDfeejKgtEDZpbtqSAsyQCX2qQ95i07WSxwUM9Lg response: body: string: '' headers: - Content-Length: '0' - Content-Type: text/plain; charset=utf-8 - Range: bytes=0-262143 - Server: UploadServer - X-Range-MD5: e7133172f24d32e27741a2e269ea6f78 + Content-Length: + - '0' + Content-Type: + - text/plain; charset=utf-8 + Range: + - bytes=0-262143 + Server: + - UploadServer + X-Range-MD5: + - e7133172f24d32e27741a2e269ea6f78 status: code: 308 message: Resume Incomplete - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUmWrP8xLBcpkzLYnOvl6lODOd2diIX2-67727LRnQzhpj6oeeTM5E7-GF_Ujux5xqxhDUwcWKZ8aqZdWebIXquNkqmXxQ + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxCmpkS8aWNU2EG7jLjWrwmEkzRdtIgXqQG7jwP7qM4x_HDfeejKgtEDZpbtqSAsyQCX2qQ95i07WSxwUM9Lg - request: body: xx headers: @@ -230,30 +224,38 @@ interactions: Content-Type: - text/plain method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUmWrP8xLBcpkzLYnOvl6lODOd2diIX2-67727LRnQzhpj6oeeTM5E7-GF_Ujux5xqxhDUwcWKZ8aqZdWebIXquNkqmXxQ + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxCmpkS8aWNU2EG7jLjWrwmEkzRdtIgXqQG7jwP7qM4x_HDfeejKgtEDZpbtqSAsyQCX2qQ95i07WSxwUM9Lg response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/1594743867274626\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/1599065085059339\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test?generation=1594743867274626&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test?generation=1599065085059339&alt=media\",\n \ \"name\": \"test\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743867274626\",\n \"metageneration\": \"1\",\n \"contentType\": \"text/plain\",\n + \"1599065085059339\",\n \"metageneration\": \"1\",\n \"contentType\": \"text/plain\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"262146\",\n \"md5Hash\": - \"CrZCnRosp/P9qFxfaMsuLQ==\",\n \"crc32c\": \"1JCIRw==\",\n \"etag\": \"CILr3e2TzeoCEAE=\",\n - \ \"timeCreated\": \"2020-07-14T16:24:27.274Z\",\n \"updated\": \"2020-07-14T16:24:27.274Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:24:27.274Z\"\n}\n" + \"CrZCnRosp/P9qFxfaMsuLQ==\",\n \"crc32c\": \"1JCIRw==\",\n \"etag\": \"CIvC+NL1yusCEAE=\",\n + \ \"timeCreated\": \"2020-09-02T16:44:45.059Z\",\n \"updated\": \"2020-09-02T16:44:45.059Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:44:45.059Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '709' - Content-Type: application/json; charset=UTF-8 - Etag: CILr3e2TzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '705' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CIvC+NL1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUmWrP8xLBcpkzLYnOvl6lODOd2diIX2-67727LRnQzhpj6oeeTM5E7-GF_Ujux5xqxhDUwcWKZ8aqZdWebIXquNkqmXxQ + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxCmpkS8aWNU2EG7jLjWrwmEkzRdtIgXqQG7jwP7qM4x_HDfeejKgtEDZpbtqSAsyQCX2qQ95i07WSxwUM9Lg - request: body: null headers: {} @@ -263,18 +265,31 @@ interactions: body: string: 0123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567xx headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '262146' - Content-Type: text/plain - Etag: CILr3e2TzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594743867274626' - X-Goog-Hash: crc32c=1JCIRw==,md5=CrZCnRosp/P9qFxfaMsuLQ== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '262146' + Content-Type: + - text/plain + Etag: + - CIvC+NL1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065085059339' + X-Goog-Hash: + - crc32c=1JCIRw==,md5=CrZCnRosp/P9qFxfaMsuLQ== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK @@ -286,22 +301,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/1594743867274626\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/1599065085059339\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test?generation=1594743867274626&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test?generation=1599065085059339&alt=media\",\n \ \"name\": \"test\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743867274626\",\n \"metageneration\": \"1\",\n \"contentType\": \"text/plain\",\n + \"1599065085059339\",\n \"metageneration\": \"1\",\n \"contentType\": \"text/plain\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"262146\",\n \"md5Hash\": - \"CrZCnRosp/P9qFxfaMsuLQ==\",\n \"crc32c\": \"1JCIRw==\",\n \"etag\": \"CILr3e2TzeoCEAE=\",\n - \ \"timeCreated\": \"2020-07-14T16:24:27.274Z\",\n \"updated\": \"2020-07-14T16:24:27.274Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:24:27.274Z\"\n}\n" + \"CrZCnRosp/P9qFxfaMsuLQ==\",\n \"crc32c\": \"1JCIRw==\",\n \"etag\": \"CIvC+NL1yusCEAE=\",\n + \ \"timeCreated\": \"2020-09-02T16:44:45.059Z\",\n \"updated\": \"2020-09-02T16:44:45.059Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:44:45.059Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '709' - Content-Type: application/json; charset=UTF-8 - Etag: CILr3e2TzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '705' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CIvC+NL1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -320,16 +342,16 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUnouaStvG95QjHblK0U4dLZmoVhbIT4oXOs7DiS5HN_AelUf14AXVAnoGTEpfNH2u2lAzJtsHWpVqRJLtuSuh8hLB1Y9A + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UzxoIiK6LH6rO-lH7iRN-EL4GiBEwlFCMkP__wz0L_VYeh8OBPsEbqIKCyZ3oI0o0YXuBhYX9wNUDqWYwjDqg Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable - request: - body: null + body: '67' headers: Accept: - '*/*' @@ -344,20 +366,25 @@ interactions: Host: - www.googleapis.com method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUnouaStvG95QjHblK0U4dLZmoVhbIT4oXOs7DiS5HN_AelUf14AXVAnoGTEpfNH2u2lAzJtsHWpVqRJLtuSuh8hLB1Y9A + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UzxoIiK6LH6rO-lH7iRN-EL4GiBEwlFCMkP__wz0L_VYeh8OBPsEbqIKCyZ3oI0o0YXuBhYX9wNUDqWYwjDqg response: body: string: '' headers: - Content-Length: '0' - Content-Type: text/plain; charset=utf-8 - Range: bytes=0-524287 - Server: UploadServer - X-Range-MD5: 124db0b22a9d5fcc2a6b6af597f3a607 + Content-Length: + - '0' + Content-Type: + - text/plain; charset=utf-8 + Range: + - bytes=0-524287 + Server: + - UploadServer + X-Range-MD5: + - 124db0b22a9d5fcc2a6b6af597f3a607 status: code: 308 message: Resume Incomplete - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUnouaStvG95QjHblK0U4dLZmoVhbIT4oXOs7DiS5HN_AelUf14AXVAnoGTEpfNH2u2lAzJtsHWpVqRJLtuSuh8hLB1Y9A + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UzxoIiK6LH6rO-lH7iRN-EL4GiBEwlFCMkP__wz0L_VYeh8OBPsEbqIKCyZ3oI0o0YXuBhYX9wNUDqWYwjDqg - request: body: null headers: @@ -374,20 +401,25 @@ interactions: Host: - www.googleapis.com method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUnouaStvG95QjHblK0U4dLZmoVhbIT4oXOs7DiS5HN_AelUf14AXVAnoGTEpfNH2u2lAzJtsHWpVqRJLtuSuh8hLB1Y9A + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UzxoIiK6LH6rO-lH7iRN-EL4GiBEwlFCMkP__wz0L_VYeh8OBPsEbqIKCyZ3oI0o0YXuBhYX9wNUDqWYwjDqg response: body: string: '' headers: - Content-Length: '0' - Content-Type: text/plain; charset=utf-8 - Range: bytes=0-524287 - Server: UploadServer - X-Range-MD5: 124db0b22a9d5fcc2a6b6af597f3a607 + Content-Length: + - '0' + Content-Type: + - text/plain; charset=utf-8 + Range: + - bytes=0-524287 + Server: + - UploadServer + X-Range-MD5: + - 124db0b22a9d5fcc2a6b6af597f3a607 status: code: 308 message: Resume Incomplete - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUnouaStvG95QjHblK0U4dLZmoVhbIT4oXOs7DiS5HN_AelUf14AXVAnoGTEpfNH2u2lAzJtsHWpVqRJLtuSuh8hLB1Y9A + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UzxoIiK6LH6rO-lH7iRN-EL4GiBEwlFCMkP__wz0L_VYeh8OBPsEbqIKCyZ3oI0o0YXuBhYX9wNUDqWYwjDqg - request: body: '67' headers: @@ -398,30 +430,38 @@ interactions: Content-Type: - text/plain method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUnouaStvG95QjHblK0U4dLZmoVhbIT4oXOs7DiS5HN_AelUf14AXVAnoGTEpfNH2u2lAzJtsHWpVqRJLtuSuh8hLB1Y9A + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UzxoIiK6LH6rO-lH7iRN-EL4GiBEwlFCMkP__wz0L_VYeh8OBPsEbqIKCyZ3oI0o0YXuBhYX9wNUDqWYwjDqg response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/1594743868971790\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/1599065086566439\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test?generation=1594743868971790&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test?generation=1599065086566439&alt=media\",\n \ \"name\": \"test\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743868971790\",\n \"metageneration\": \"1\",\n \"contentType\": \"text/plain\",\n + \"1599065086566439\",\n \"metageneration\": \"1\",\n \"contentType\": \"text/plain\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"524290\",\n \"md5Hash\": - \"QacmS2pIJaTa732O7aJBDA==\",\n \"crc32c\": \"hcyHHw==\",\n \"etag\": \"CI62xe6TzeoCEAE=\",\n - \ \"timeCreated\": \"2020-07-14T16:24:28.971Z\",\n \"updated\": \"2020-07-14T16:24:28.971Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:24:28.971Z\"\n}\n" + \"QacmS2pIJaTa732O7aJBDA==\",\n \"crc32c\": \"hcyHHw==\",\n \"etag\": \"CKfA1NP1yusCEAE=\",\n + \ \"timeCreated\": \"2020-09-02T16:44:46.566Z\",\n \"updated\": \"2020-09-02T16:44:46.566Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:44:46.566Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '709' - Content-Type: application/json; charset=UTF-8 - Etag: CI62xe6TzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '705' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CKfA1NP1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUnouaStvG95QjHblK0U4dLZmoVhbIT4oXOs7DiS5HN_AelUf14AXVAnoGTEpfNH2u2lAzJtsHWpVqRJLtuSuh8hLB1Y9A + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UzxoIiK6LH6rO-lH7iRN-EL4GiBEwlFCMkP__wz0L_VYeh8OBPsEbqIKCyZ3oI0o0YXuBhYX9wNUDqWYwjDqg - request: body: null headers: {} @@ -431,18 +471,31 @@ interactions: body: string: 0123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567xx0123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567 headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '524290' - Content-Type: text/plain - Etag: CI62xe6TzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594743868971790' - X-Goog-Hash: crc32c=hcyHHw==,md5=QacmS2pIJaTa732O7aJBDA== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '524290' + Content-Type: + - text/plain + Etag: + - CKfA1NP1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065086566439' + X-Goog-Hash: + - crc32c=hcyHHw==,md5=QacmS2pIJaTa732O7aJBDA== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK @@ -454,22 +507,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/1594743868971790\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/1599065086566439\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test?generation=1594743868971790&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test?generation=1599065086566439&alt=media\",\n \ \"name\": \"test\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743868971790\",\n \"metageneration\": \"1\",\n \"contentType\": \"text/plain\",\n + \"1599065086566439\",\n \"metageneration\": \"1\",\n \"contentType\": \"text/plain\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"524290\",\n \"md5Hash\": - \"QacmS2pIJaTa732O7aJBDA==\",\n \"crc32c\": \"hcyHHw==\",\n \"etag\": \"CI62xe6TzeoCEAE=\",\n - \ \"timeCreated\": \"2020-07-14T16:24:28.971Z\",\n \"updated\": \"2020-07-14T16:24:28.971Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:24:28.971Z\"\n}\n" + \"QacmS2pIJaTa732O7aJBDA==\",\n \"crc32c\": \"hcyHHw==\",\n \"etag\": \"CKfA1NP1yusCEAE=\",\n + \ \"timeCreated\": \"2020-09-02T16:44:46.566Z\",\n \"updated\": \"2020-09-02T16:44:46.566Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:44:46.566Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '709' - Content-Type: application/json; charset=UTF-8 - Etag: CI62xe6TzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '705' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CKfA1NP1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -478,30 +538,36 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/test/1594743868971790\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/test/1599065086566439\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test?generation=1594743868971790&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test?generation=1599065086566439&alt=media\",\n \ \"name\": \"test\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743868971790\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599065086566439\",\n \"metageneration\": \"1\",\n \"contentType\": \"text/plain\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"524290\",\n \ \"md5Hash\": \"QacmS2pIJaTa732O7aJBDA==\",\n \"crc32c\": \"hcyHHw==\",\n - \ \"etag\": \"CI62xe6TzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:24:28.971Z\",\n - \ \"updated\": \"2020-07-14T16:24:28.971Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:24:28.971Z\"\n }\n ]\n}\n" + \ \"etag\": \"CKfA1NP1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:44:46.566Z\",\n + \ \"updated\": \"2020-09-02T16:44:46.566Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:44:46.566Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '835' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '831' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -531,21 +597,33 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_QHcinkIPJFY_AAYV8III1IY\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_aC76eKtAMBA_AAho_Od1k20\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:24:29 GMT\r\n\r\n\r\n--batch_QHcinkIPJFY_AAYV8III1IY--\r\n" + Wed, 02 Sep 2020 16:44:47 GMT\r\n\r\n\r\n--batch_aC76eKtAMBA_AAho_Od1k20--\r\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_QHcinkIPJFY_AAYV8III1IY - Pragma: no-cache - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_aC76eKtAMBA_AAho_Od1k20 + Pragma: + - no-cache + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK @@ -554,20 +632,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -577,34 +661,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -612,37 +683,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:31.550Z\",\n \"updated\": \"2020-07-14T16:24:31.550Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: null @@ -658,16 +720,16 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUnomSa--f8ZnnNlkuvEhCoaAmUH28DxVjfdWoiCxZUPDfer8yIpW-0mqmh6Ipvz6zFLGsn6qY4Xzxw_PBpdrY9jbEtLNg + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UzseB3FYYWzrRN4y5Feao0SqoZ510Gl4kVYlsqosWJXmShyWr5SjdxHUnACfnDJuHU_mslW6dISDT4IjM-1tA Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable - request: - body: null + body: xx headers: Accept: - '*/*' @@ -682,20 +744,25 @@ interactions: Host: - www.googleapis.com method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUnomSa--f8ZnnNlkuvEhCoaAmUH28DxVjfdWoiCxZUPDfer8yIpW-0mqmh6Ipvz6zFLGsn6qY4Xzxw_PBpdrY9jbEtLNg + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UzseB3FYYWzrRN4y5Feao0SqoZ510Gl4kVYlsqosWJXmShyWr5SjdxHUnACfnDJuHU_mslW6dISDT4IjM-1tA response: body: string: '' headers: - Content-Length: '0' - Content-Type: text/plain; charset=utf-8 - Range: bytes=0-262143 - Server: UploadServer - X-Range-MD5: e7133172f24d32e27741a2e269ea6f78 + Content-Length: + - '0' + Content-Type: + - text/plain; charset=utf-8 + Range: + - bytes=0-262143 + Server: + - UploadServer + X-Range-MD5: + - e7133172f24d32e27741a2e269ea6f78 status: code: 308 message: Resume Incomplete - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUnomSa--f8ZnnNlkuvEhCoaAmUH28DxVjfdWoiCxZUPDfer8yIpW-0mqmh6Ipvz6zFLGsn6qY4Xzxw_PBpdrY9jbEtLNg + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UzseB3FYYWzrRN4y5Feao0SqoZ510Gl4kVYlsqosWJXmShyWr5SjdxHUnACfnDJuHU_mslW6dISDT4IjM-1tA - request: body: null headers: @@ -712,20 +779,25 @@ interactions: Host: - www.googleapis.com method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUnomSa--f8ZnnNlkuvEhCoaAmUH28DxVjfdWoiCxZUPDfer8yIpW-0mqmh6Ipvz6zFLGsn6qY4Xzxw_PBpdrY9jbEtLNg + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UzseB3FYYWzrRN4y5Feao0SqoZ510Gl4kVYlsqosWJXmShyWr5SjdxHUnACfnDJuHU_mslW6dISDT4IjM-1tA response: body: string: '' headers: - Content-Length: '0' - Content-Type: text/plain; charset=utf-8 - Range: bytes=0-262143 - Server: UploadServer - X-Range-MD5: e7133172f24d32e27741a2e269ea6f78 + Content-Length: + - '0' + Content-Type: + - text/plain; charset=utf-8 + Range: + - bytes=0-262143 + Server: + - UploadServer + X-Range-MD5: + - e7133172f24d32e27741a2e269ea6f78 status: code: 308 message: Resume Incomplete - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUnomSa--f8ZnnNlkuvEhCoaAmUH28DxVjfdWoiCxZUPDfer8yIpW-0mqmh6Ipvz6zFLGsn6qY4Xzxw_PBpdrY9jbEtLNg + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UzseB3FYYWzrRN4y5Feao0SqoZ510Gl4kVYlsqosWJXmShyWr5SjdxHUnACfnDJuHU_mslW6dISDT4IjM-1tA - request: body: xx headers: @@ -736,30 +808,38 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUnomSa--f8ZnnNlkuvEhCoaAmUH28DxVjfdWoiCxZUPDfer8yIpW-0mqmh6Ipvz6zFLGsn6qY4Xzxw_PBpdrY9jbEtLNg + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UzseB3FYYWzrRN4y5Feao0SqoZ510Gl4kVYlsqosWJXmShyWr5SjdxHUnACfnDJuHU_mslW6dISDT4IjM-1tA response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/1594743872974439\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/1599065089043095\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test?generation=1594743872974439&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test?generation=1599065089043095&alt=media\",\n \ \"name\": \"test\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743872974439\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065089043095\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"262146\",\n \"md5Hash\": - \"CrZCnRosp/P9qFxfaMsuLQ==\",\n \"crc32c\": \"1JCIRw==\",\n \"etag\": \"COfcufCTzeoCEAE=\",\n - \ \"timeCreated\": \"2020-07-14T16:24:32.974Z\",\n \"updated\": \"2020-07-14T16:24:32.974Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:24:32.974Z\"\n}\n" + \"CrZCnRosp/P9qFxfaMsuLQ==\",\n \"crc32c\": \"1JCIRw==\",\n \"etag\": \"CJfV69T1yusCEAE=\",\n + \ \"timeCreated\": \"2020-09-02T16:44:49.042Z\",\n \"updated\": \"2020-09-02T16:44:49.042Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:44:49.042Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '723' - Content-Type: application/json; charset=UTF-8 - Etag: COfcufCTzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '719' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CJfV69T1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUnomSa--f8ZnnNlkuvEhCoaAmUH28DxVjfdWoiCxZUPDfer8yIpW-0mqmh6Ipvz6zFLGsn6qY4Xzxw_PBpdrY9jbEtLNg + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UzseB3FYYWzrRN4y5Feao0SqoZ510Gl4kVYlsqosWJXmShyWr5SjdxHUnACfnDJuHU_mslW6dISDT4IjM-1tA - request: body: null headers: {} @@ -769,18 +849,31 @@ interactions: body: string: 0123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567xx headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '262146' - Content-Type: application/octet-stream - Etag: COfcufCTzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594743872974439' - X-Goog-Hash: crc32c=1JCIRw==,md5=CrZCnRosp/P9qFxfaMsuLQ== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '262146' + Content-Type: + - application/octet-stream + Etag: + - CJfV69T1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065089043095' + X-Goog-Hash: + - crc32c=1JCIRw==,md5=CrZCnRosp/P9qFxfaMsuLQ== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK @@ -792,22 +885,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/1594743872974439\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/1599065089043095\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test?generation=1594743872974439&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test?generation=1599065089043095&alt=media\",\n \ \"name\": \"test\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743872974439\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065089043095\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"262146\",\n \"md5Hash\": - \"CrZCnRosp/P9qFxfaMsuLQ==\",\n \"crc32c\": \"1JCIRw==\",\n \"etag\": \"COfcufCTzeoCEAE=\",\n - \ \"timeCreated\": \"2020-07-14T16:24:32.974Z\",\n \"updated\": \"2020-07-14T16:24:32.974Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:24:32.974Z\"\n}\n" + \"CrZCnRosp/P9qFxfaMsuLQ==\",\n \"crc32c\": \"1JCIRw==\",\n \"etag\": \"CJfV69T1yusCEAE=\",\n + \ \"timeCreated\": \"2020-09-02T16:44:49.042Z\",\n \"updated\": \"2020-09-02T16:44:49.042Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:44:49.042Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '723' - Content-Type: application/json; charset=UTF-8 - Etag: COfcufCTzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '719' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CJfV69T1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -826,16 +926,16 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUm83_OZ3WSOBdRozLkOQO4ThY3b_F9rlT36h9KbXoL_pSXs2S2DZFc6hMrtjYoxONXjPA5CFUuftf1AJ9R4UVMotrHJrA + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UzR2vm_GywD57waBlTKm6ps4fglC6z7wWGcPsghCfQKWSs7-Q4FQJSaPn2MtG6mlc9fT5_ZpcJsbPaRYPsBjQ Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable - request: - body: null + body: '67' headers: Accept: - '*/*' @@ -850,20 +950,25 @@ interactions: Host: - www.googleapis.com method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUm83_OZ3WSOBdRozLkOQO4ThY3b_F9rlT36h9KbXoL_pSXs2S2DZFc6hMrtjYoxONXjPA5CFUuftf1AJ9R4UVMotrHJrA + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UzR2vm_GywD57waBlTKm6ps4fglC6z7wWGcPsghCfQKWSs7-Q4FQJSaPn2MtG6mlc9fT5_ZpcJsbPaRYPsBjQ response: body: string: '' headers: - Content-Length: '0' - Content-Type: text/plain; charset=utf-8 - Range: bytes=0-524287 - Server: UploadServer - X-Range-MD5: 124db0b22a9d5fcc2a6b6af597f3a607 + Content-Length: + - '0' + Content-Type: + - text/plain; charset=utf-8 + Range: + - bytes=0-524287 + Server: + - UploadServer + X-Range-MD5: + - 124db0b22a9d5fcc2a6b6af597f3a607 status: code: 308 message: Resume Incomplete - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUm83_OZ3WSOBdRozLkOQO4ThY3b_F9rlT36h9KbXoL_pSXs2S2DZFc6hMrtjYoxONXjPA5CFUuftf1AJ9R4UVMotrHJrA + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UzR2vm_GywD57waBlTKm6ps4fglC6z7wWGcPsghCfQKWSs7-Q4FQJSaPn2MtG6mlc9fT5_ZpcJsbPaRYPsBjQ - request: body: null headers: @@ -880,20 +985,25 @@ interactions: Host: - www.googleapis.com method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUm83_OZ3WSOBdRozLkOQO4ThY3b_F9rlT36h9KbXoL_pSXs2S2DZFc6hMrtjYoxONXjPA5CFUuftf1AJ9R4UVMotrHJrA + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UzR2vm_GywD57waBlTKm6ps4fglC6z7wWGcPsghCfQKWSs7-Q4FQJSaPn2MtG6mlc9fT5_ZpcJsbPaRYPsBjQ response: body: string: '' headers: - Content-Length: '0' - Content-Type: text/plain; charset=utf-8 - Range: bytes=0-524287 - Server: UploadServer - X-Range-MD5: 124db0b22a9d5fcc2a6b6af597f3a607 + Content-Length: + - '0' + Content-Type: + - text/plain; charset=utf-8 + Range: + - bytes=0-524287 + Server: + - UploadServer + X-Range-MD5: + - 124db0b22a9d5fcc2a6b6af597f3a607 status: code: 308 message: Resume Incomplete - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUm83_OZ3WSOBdRozLkOQO4ThY3b_F9rlT36h9KbXoL_pSXs2S2DZFc6hMrtjYoxONXjPA5CFUuftf1AJ9R4UVMotrHJrA + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UzR2vm_GywD57waBlTKm6ps4fglC6z7wWGcPsghCfQKWSs7-Q4FQJSaPn2MtG6mlc9fT5_ZpcJsbPaRYPsBjQ - request: body: '67' headers: @@ -904,30 +1014,38 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUm83_OZ3WSOBdRozLkOQO4ThY3b_F9rlT36h9KbXoL_pSXs2S2DZFc6hMrtjYoxONXjPA5CFUuftf1AJ9R4UVMotrHJrA + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UzR2vm_GywD57waBlTKm6ps4fglC6z7wWGcPsghCfQKWSs7-Q4FQJSaPn2MtG6mlc9fT5_ZpcJsbPaRYPsBjQ response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/1594743874573117\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/1599065090350562\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test?generation=1594743874573117&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test?generation=1599065090350562&alt=media\",\n \ \"name\": \"test\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743874573117\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065090350562\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"524290\",\n \"md5Hash\": - \"QacmS2pIJaTa732O7aJBDA==\",\n \"crc32c\": \"hcyHHw==\",\n \"etag\": \"CL2mm/GTzeoCEAE=\",\n - \ \"timeCreated\": \"2020-07-14T16:24:34.572Z\",\n \"updated\": \"2020-07-14T16:24:34.572Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:24:34.572Z\"\n}\n" + \"QacmS2pIJaTa732O7aJBDA==\",\n \"crc32c\": \"hcyHHw==\",\n \"etag\": \"COK7u9X1yusCEAE=\",\n + \ \"timeCreated\": \"2020-09-02T16:44:50.350Z\",\n \"updated\": \"2020-09-02T16:44:50.350Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:44:50.350Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '723' - Content-Type: application/json; charset=UTF-8 - Etag: CL2mm/GTzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '719' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - COK7u9X1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUm83_OZ3WSOBdRozLkOQO4ThY3b_F9rlT36h9KbXoL_pSXs2S2DZFc6hMrtjYoxONXjPA5CFUuftf1AJ9R4UVMotrHJrA + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UzR2vm_GywD57waBlTKm6ps4fglC6z7wWGcPsghCfQKWSs7-Q4FQJSaPn2MtG6mlc9fT5_ZpcJsbPaRYPsBjQ - request: body: null headers: {} @@ -937,18 +1055,31 @@ interactions: body: string: 0123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567xx0123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567 headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '524290' - Content-Type: application/octet-stream - Etag: CL2mm/GTzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594743874573117' - X-Goog-Hash: crc32c=hcyHHw==,md5=QacmS2pIJaTa732O7aJBDA== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '524290' + Content-Type: + - application/octet-stream + Etag: + - COK7u9X1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065090350562' + X-Goog-Hash: + - crc32c=hcyHHw==,md5=QacmS2pIJaTa732O7aJBDA== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK @@ -960,22 +1091,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/1594743874573117\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/1599065090350562\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test?generation=1594743874573117&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test?generation=1599065090350562&alt=media\",\n \ \"name\": \"test\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743874573117\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065090350562\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"524290\",\n \"md5Hash\": - \"QacmS2pIJaTa732O7aJBDA==\",\n \"crc32c\": \"hcyHHw==\",\n \"etag\": \"CL2mm/GTzeoCEAE=\",\n - \ \"timeCreated\": \"2020-07-14T16:24:34.572Z\",\n \"updated\": \"2020-07-14T16:24:34.572Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:24:34.572Z\"\n}\n" + \"QacmS2pIJaTa732O7aJBDA==\",\n \"crc32c\": \"hcyHHw==\",\n \"etag\": \"COK7u9X1yusCEAE=\",\n + \ \"timeCreated\": \"2020-09-02T16:44:50.350Z\",\n \"updated\": \"2020-09-02T16:44:50.350Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:44:50.350Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '723' - Content-Type: application/json; charset=UTF-8 - Etag: CL2mm/GTzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '719' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - COK7u9X1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -984,30 +1122,36 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/test/1594743874573117\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/test/1599065090350562\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test?generation=1594743874573117&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test?generation=1599065090350562&alt=media\",\n \ \"name\": \"test\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743874573117\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599065090350562\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"524290\",\n \"md5Hash\": \"QacmS2pIJaTa732O7aJBDA==\",\n \"crc32c\": - \"hcyHHw==\",\n \"etag\": \"CL2mm/GTzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:34.572Z\",\n \"updated\": \"2020-07-14T16:24:34.572Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:24:34.572Z\"\n }\n ]\n}\n" + \"hcyHHw==\",\n \"etag\": \"COK7u9X1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:44:50.350Z\",\n \"updated\": \"2020-09-02T16:44:50.350Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:44:50.350Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '849' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '845' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -1037,21 +1181,33 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_XVmrwBlkEbk_AAG3KjWRdrc\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_0DJZ4uwM_EY_AAIgQ8df2hQ\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:24:35 GMT\r\n\r\n\r\n--batch_XVmrwBlkEbk_AAG3KjWRdrc--\r\n" + Wed, 02 Sep 2020 16:44:51 GMT\r\n\r\n\r\n--batch_0DJZ4uwM_EY_AAIgQ8df2hQ--\r\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_XVmrwBlkEbk_AAG3KjWRdrc - Pragma: no-cache - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_0DJZ4uwM_EY_AAIgQ8df2hQ + Pragma: + - no-cache + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_new_bucket.yaml b/gcsfs/tests/recordings/test_new_bucket.yaml index 567ac576..c945f459 100644 --- a/gcsfs/tests/recordings/test_new_bucket.yaml +++ b/gcsfs/tests/recordings/test_new_bucket.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAGndDV8C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULne1I82+NTiHzLPQE7Oe - lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmzWRWr+XiLIQjWpk8rBqyuqMdaQFzKYIMTL+SlJ - LQubiiMPwa/wLK+f5QOhYh198P9fjg+YY4lN4wAAAA== + H4sIALDMT18C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP + Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTZ79qllYVNxaHWVb4w15IUMJghRnSs5+MuWi9T8 + vUSQhWoagF/gWV4/ygdCxTr84P+/HB+fT0zw4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:29:30.849Z\",\n \"updated\": \"2020-07-14T16:29:30.849Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: null @@ -149,12 +133,19 @@ interactions: \ \"errors\": [\n {\n \"message\": \"Not Found\",\n \"domain\": \"global\",\n \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '193' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '193' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found @@ -170,12 +161,19 @@ interactions: \ \"errors\": [\n {\n \"message\": \"Not Found\",\n \"domain\": \"global\",\n \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '193' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '193' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found @@ -191,12 +189,19 @@ interactions: \ \"errors\": [\n {\n \"message\": \"Not Found\",\n \"domain\": \"global\",\n \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '193' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '193' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found @@ -212,7 +217,7 @@ interactions: \ \"id\": \"gcsfs-testingnew-bucket\",\n \"name\": \"gcsfs-testingnew-bucket\",\n \ \"projectNumber\": \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:29:32.051Z\",\n \"updated\": \"2020-07-14T16:29:32.051Z\",\n + \"2020-09-02T16:47:45.782Z\",\n \"updated\": \"2020-09-02T16:47:45.782Z\",\n \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": \"gcsfs-testingnew-bucket/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testingnew-bucket/acl/project-owners-586241054156\",\n @@ -239,13 +244,21 @@ interactions: {\n \"bucketPolicyOnly\": {\n \"enabled\": false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n }\n },\n \"locationType\": \"multi-region\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '2363' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '2351' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -254,118 +267,50 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testingnew-bucket/o/?delimiter=%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testingnew-bucket/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testingnew-bucket/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testingnew-bucket/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testingnew-bucket/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testingnew-bucket/o/?delimiter=%2F&prefix=new-directory%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testingnew-bucket/o/?delimiter=/&prefix=new-directory/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testingnew-bucket/o/new-directory - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testingnew-bucket/new-directory\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testingnew-bucket/new-directory\",\n \"domain\": - \"global\",\n \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '281' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testingnew-bucket/o/new-directory -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testingnew-bucket/o/new-directory - response: - body: - string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: - gcsfs-testingnew-bucket/new-directory\",\n \"errors\": [\n {\n \"message\": - \"No such object: gcsfs-testingnew-bucket/new-directory\",\n \"domain\": - \"global\",\n \"reason\": \"notFound\"\n }\n ]\n }\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '281' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 404 - message: Not Found - url: https://www.googleapis.com/storage/v1/b/gcsfs-testingnew-bucket/o/new-directory + url: https://www.googleapis.com/storage/v1/b/gcsfs-testingnew-bucket/o/ - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testingnew-bucket/o/?delimiter=%2F&prefix=new-directory%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testingnew-bucket/o/?prefix=new-directory%2F response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testingnew-bucket/o/?delimiter=/&prefix=new-directory/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testingnew-bucket/o/?prefix=new-directory/ - request: body: null headers: {} @@ -378,12 +323,19 @@ interactions: \"No such object: gcsfs-testingnew-bucket/new-directory\",\n \"domain\": \"global\",\n \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '281' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '279' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found @@ -397,12 +349,19 @@ interactions: body: string: '' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '0' + Content-Type: + - application/json + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 204 message: No Content @@ -411,36 +370,24 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ version: 1 diff --git a/gcsfs/tests/recordings/test_next.yaml b/gcsfs/tests/recordings/test_next.yaml index ae0144d0..c8e4f4cc 100644 --- a/gcsfs/tests/recordings/test_next.yaml +++ b/gcsfs/tests/recordings/test_next.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAPrcDV8C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULne1I82+NTiHzLPQE7Oe - lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmz25KllYVNxZHViOXh1hblIzd9LBFmopst5Y6wh - L2QwQYhD8Cs8y+tn+UCoWEcf/P+X4wMEC22h4wAAAA== + H4sIAHPMT18C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULnc10s6+NTiHzLPQE7Oe + lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmzWRWr+XiLIQjWpK/yco5aFTcWRL/nGWENeyGCC + ENUplYMfgl/hWV4/ywdCxTr64P+/HB90ZZ3Z4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:40.209Z\",\n \"updated\": \"2020-07-14T16:27:40.209Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: '--==0== @@ -168,24 +152,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594744060544458\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065204086720\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594744060544458&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065204086720&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744060544458\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065204086720\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"CMqL8smUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:27:40.544Z\",\n - \ \"updated\": \"2020-07-14T16:27:40.544Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:27:40.544Z\"\n}\n" + \ \"etag\": \"CMCv2Yv2yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:44.086Z\",\n + \ \"updated\": \"2020-09-02T16:46:44.086Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:44.086Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CMqL8smUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CMCv2Yv2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -214,23 +206,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594744060589939\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065204184701\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594744060589939&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065204184701&alt=media\",\n \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744060589939\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065204184701\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CPPu9MmUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:40.589Z\",\n \"updated\": \"2020-07-14T16:27:40.589Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:40.589Z\"\n}\n" + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CP2s34v2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:44.184Z\",\n \"updated\": \"2020-09-02T16:46:44.184Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:44.184Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CPPu9MmUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CP2s34v2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -241,21 +241,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "test/accounts.2.json"} + {"name": "nested/file2"} --==0== Content-Type: application/octet-stream - {"amount": 500, "name": "Alice"} - - {"amount": 600, "name": "Bob"} - - {"amount": 700, "name": "Charlie"} - - {"amount": 800, "name": "Dennis"} - + world --==0==--' headers: @@ -265,24 +258,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594744060592868\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594744060592868&alt=media\",\n - \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744060592868\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n - \ \"etag\": \"COSF9cmUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:27:40.592Z\",\n - \ \"updated\": \"2020-07-14T16:27:40.592Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:27:40.592Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065204215706\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065204215706&alt=media\",\n + \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065204215706\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CJqf4Yv2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:44.215Z\",\n \"updated\": \"2020-09-02T16:46:44.215Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:44.215Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: COSF9cmUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CJqf4Yv2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -293,14 +293,15 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/file2"} + {"name": "nested/nested2/file1"} --==0== Content-Type: application/octet-stream - world + hello + --==0==--' headers: @@ -310,23 +311,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594744060595677\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594744060595677&alt=media\",\n - \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744060595677\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CN2b9cmUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:40.595Z\",\n \"updated\": \"2020-07-14T16:27:40.595Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:40.595Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065204226201\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065204226201&alt=media\",\n + \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065204226201\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n \"crc32c\": \"NT3Yvg==\",\n + \ \"etag\": \"CJnx4Yv2yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:44.226Z\",\n + \ \"updated\": \"2020-09-02T16:46:44.226Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:44.226Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CN2b9cmUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CJnx4Yv2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -355,23 +365,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1594744060598821\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065204225767\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594744060598821&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065204225767&alt=media\",\n \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744060598821\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065204225767\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CKW09cmUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:40.598Z\",\n \"updated\": \"2020-07-14T16:27:40.598Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:40.598Z\"\n}\n" + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"COft4Yv2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:44.225Z\",\n \"updated\": \"2020-09-02T16:46:44.225Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:44.225Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CKW09cmUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - COft4Yv2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -382,15 +400,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/nested2/file1"} + {"name": "nested/nested2/file2"} --==0== Content-Type: application/octet-stream - hello - + world --==0==--' headers: @@ -400,24 +417,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594744060598657\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594744060598657&alt=media\",\n - \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744060598657\",\n \"metageneration\": \"1\",\n \"contentType\": + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065204235159\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065204235159&alt=media\",\n + \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065204235159\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n \"crc32c\": \"NT3Yvg==\",\n - \ \"etag\": \"CIGz9cmUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:27:40.598Z\",\n - \ \"updated\": \"2020-07-14T16:27:40.598Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:27:40.598Z\"\n}\n" + \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n \"crc32c\": \"MaqBTg==\",\n + \ \"etag\": \"CJe34ov2yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:44.235Z\",\n + \ \"updated\": \"2020-09-02T16:46:44.235Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:44.235Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: CIGz9cmUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CJe34ov2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -428,7 +453,7 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-03.csv"} + {"name": "2014-01-01.csv"} --==0== @@ -437,11 +462,11 @@ interactions: name,amount,id - Dennis,400,4 + Alice,100,1 - Edith,500,5 + Bob,200,2 - Frank,600,6 + Charlie,300,3 --==0==--' @@ -452,23 +477,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594744060599719\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594744060599719&alt=media\",\n - \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744060599719\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CKe79cmUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:40.599Z\",\n \"updated\": \"2020-07-14T16:27:40.599Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:40.599Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065204273783\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065204273783&alt=media\",\n + \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065204273783\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CPfk5Iv2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:44.273Z\",\n \"updated\": \"2020-09-02T16:46:44.273Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:44.273Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CKe79cmUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CPfk5Iv2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -479,20 +512,20 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-01.csv"} + {"name": "test/accounts.2.json"} --==0== Content-Type: application/octet-stream - name,amount,id + {"amount": 500, "name": "Alice"} - Alice,100,1 + {"amount": 600, "name": "Bob"} - Bob,200,2 + {"amount": 700, "name": "Charlie"} - Charlie,300,3 + {"amount": 800, "name": "Dennis"} --==0==--' @@ -503,23 +536,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1594744060602713\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594744060602713&alt=media\",\n - \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744060602713\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CNnS9cmUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:40.602Z\",\n \"updated\": \"2020-07-14T16:27:40.602Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:40.602Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065204481708\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065204481708&alt=media\",\n + \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065204481708\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n + \ \"etag\": \"CKy98Yv2yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:44.481Z\",\n + \ \"updated\": \"2020-09-02T16:46:44.481Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:44.481Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CNnS9cmUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CKy98Yv2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -530,14 +572,21 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/nested2/file2"} + {"name": "2014-01-03.csv"} --==0== Content-Type: application/octet-stream - world + name,amount,id + + Dennis,400,4 + + Edith,500,5 + + Frank,600,6 + --==0==--' headers: @@ -547,24 +596,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594744061659896\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594744061659896&alt=media\",\n - \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744061659896\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n \"crc32c\": \"MaqBTg==\",\n - \ \"etag\": \"CPiVtsqUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:27:41.659Z\",\n - \ \"updated\": \"2020-07-14T16:27:41.659Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:27:41.659Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065204711402\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065204711402&alt=media\",\n + \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065204711402\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"COq//4v2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:44.711Z\",\n \"updated\": \"2020-09-02T16:46:44.711Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:44.711Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: CPiVtsqUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - COq//4v2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -576,22 +632,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1594744060602713\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065204273783\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594744060602713&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065204273783&alt=media\",\n \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744060602713\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065204273783\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CNnS9cmUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:40.602Z\",\n \"updated\": \"2020-07-14T16:27:40.602Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:40.602Z\"\n}\n" + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CPfk5Iv2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:44.273Z\",\n \"updated\": \"2020-09-02T16:46:44.273Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:44.273Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CNnS9cmUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CPfk5Iv2yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -602,7 +665,7 @@ interactions: Range: - bytes=0-50 method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?alt=media&generation=1594744060602713 + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?alt=media&generation=1599065204273783 response: body: string: 'name,amount,id @@ -615,185 +678,149 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '51' - Content-Range: bytes 0-50/51 - Content-Type: application/octet-stream - Etag: CNnS9cmUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744060602713' - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '51' + Content-Range: + - bytes 0-50/51 + Content-Type: + - application/octet-stream + Etag: + - CPfk5Iv2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065204273783' + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 206 message: Partial Content - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594744060602713&alt=media + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065204273783&alt=media - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/\",\n - \ \"test/\"\n ],\n \"items\": [\n {\n \"kind\": \"storage#object\",\n - \ \"id\": \"gcsfs-testing/2014-01-01.csv/1594744060602713\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594744060602713&alt=media\",\n + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065204273783\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065204273783&alt=media\",\n \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744060602713\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065204273783\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CNnS9cmUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:40.602Z\",\n \"updated\": \"2020-07-14T16:27:40.602Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:40.602Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594744060589939\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CPfk5Iv2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:44.273Z\",\n \"updated\": \"2020-09-02T16:46:44.273Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:44.273Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065204184701\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594744060589939&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065204184701&alt=media\",\n \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744060589939\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065204184701\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CPPu9MmUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:40.589Z\",\n \"updated\": \"2020-07-14T16:27:40.589Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:40.589Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594744060599719\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CP2s34v2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:44.184Z\",\n \"updated\": \"2020-09-02T16:46:44.184Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:44.184Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065204711402\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594744060599719&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065204711402&alt=media\",\n \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744060599719\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065204711402\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CKe79cmUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:40.599Z\",\n \"updated\": \"2020-07-14T16:27:40.599Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:40.599Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '2605' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/nested2/\"\n - \ ],\n \"items\": [\n {\n \"kind\": \"storage#object\",\n \"id\": - \"gcsfs-testing/nested/file1/1594744060598821\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594744060598821&alt=media\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"COq//4v2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:44.711Z\",\n \"updated\": \"2020-09-02T16:46:44.711Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:44.711Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065204225767\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065204225767&alt=media\",\n \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744060598821\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065204225767\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CKW09cmUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:40.598Z\",\n \"updated\": \"2020-07-14T16:27:40.598Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:40.598Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594744060595677\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"COft4Yv2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:44.225Z\",\n \"updated\": \"2020-09-02T16:46:44.225Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:44.225Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065204215706\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594744060595677&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065204215706&alt=media\",\n \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744060595677\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065204215706\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CN2b9cmUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:40.595Z\",\n \"updated\": \"2020-07-14T16:27:40.595Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:40.595Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1754' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2Fnested2%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594744060598657\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CJqf4Yv2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:44.215Z\",\n \"updated\": \"2020-09-02T16:46:44.215Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:44.215Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065204226201\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594744060598657&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065204226201&alt=media\",\n \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744060598657\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065204226201\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CIGz9cmUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:40.598Z\",\n \"updated\": \"2020-07-14T16:27:40.598Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:40.598Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594744061659896\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CJnx4Yv2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:44.226Z\",\n \"updated\": \"2020-09-02T16:46:44.226Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:44.226Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065204235159\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594744061659896&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065204235159&alt=media\",\n \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744061659896\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065204235159\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CPiVtsqUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:41.659Z\",\n \"updated\": \"2020-07-14T16:27:41.659Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:41.659Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1783' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/nested2/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=test%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594744060544458\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CJe34ov2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:44.235Z\",\n \"updated\": \"2020-09-02T16:46:44.235Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:44.235Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065204086720\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594744060544458&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065204086720&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744060544458\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065204086720\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n - \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CMqL8smUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:40.544Z\",\n \"updated\": \"2020-07-14T16:27:40.544Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:40.544Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594744060592868\",\n + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CMCv2Yv2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:44.086Z\",\n \"updated\": \"2020-09-02T16:46:44.086Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:44.086Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065204481708\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594744060592868&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065204481708&alt=media\",\n \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744060592868\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065204481708\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n - \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"COSF9cmUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:40.592Z\",\n \"updated\": \"2020-07-14T16:27:40.592Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:40.592Z\"\n }\n ]\n}\n" + \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CKy98Yv2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:44.481Z\",\n \"updated\": \"2020-09-02T16:46:44.481Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:44.481Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1779' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '7647' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=test/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -967,36 +994,47 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_c4_abKSLW8o_AAY-eZ-P1QE\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_oRzVpqDKUAY_AAI2sTNFmew\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:27:43 GMT\r\n\r\n\r\n--batch_c4_abKSLW8o_AAY-eZ-P1QE\r\nContent-Type: + Wed, 02 Sep 2020 16:46:45 GMT\r\n\r\n\r\n--batch_oRzVpqDKUAY_AAI2sTNFmew\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:27:43 GMT\r\n\r\n\r\n--batch_c4_abKSLW8o_AAY-eZ-P1QE\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:45 GMT\r\n\r\n\r\n--batch_oRzVpqDKUAY_AAI2sTNFmew\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:27:43 GMT\r\n\r\n\r\n--batch_c4_abKSLW8o_AAY-eZ-P1QE\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:45 GMT\r\n\r\n\r\n--batch_oRzVpqDKUAY_AAI2sTNFmew\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:27:43 GMT\r\n\r\n\r\n--batch_c4_abKSLW8o_AAY-eZ-P1QE\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:45 GMT\r\n\r\n\r\n--batch_oRzVpqDKUAY_AAI2sTNFmew\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:27:43 GMT\r\n\r\n\r\n--batch_c4_abKSLW8o_AAY-eZ-P1QE\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:45 GMT\r\n\r\n\r\n--batch_oRzVpqDKUAY_AAI2sTNFmew\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:27:43 GMT\r\n\r\n\r\n--batch_c4_abKSLW8o_AAY-eZ-P1QE\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:45 GMT\r\n\r\n\r\n--batch_oRzVpqDKUAY_AAI2sTNFmew\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:27:43 GMT\r\n\r\n\r\n--batch_c4_abKSLW8o_AAY-eZ-P1QE\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:45 GMT\r\n\r\n\r\n--batch_oRzVpqDKUAY_AAI2sTNFmew\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:27:43 GMT\r\n\r\n\r\n--batch_c4_abKSLW8o_AAY-eZ-P1QE\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:45 GMT\r\n\r\n\r\n--batch_oRzVpqDKUAY_AAI2sTNFmew\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:27:43 GMT\r\n\r\n\r\n--batch_c4_abKSLW8o_AAY-eZ-P1QE--\r\n" + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:45 GMT\r\n\r\n\r\n--batch_oRzVpqDKUAY_AAI2sTNFmew--\r\n" headers: - Cache-Control: private, max-age=0 - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_c4_abKSLW8o_AAY-eZ-P1QE - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - private, max-age=0 + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_oRzVpqDKUAY_AAI2sTNFmew + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_pickle.yaml b/gcsfs/tests/recordings/test_pickle.yaml index e04de0a9..23de362d 100644 --- a/gcsfs/tests/recordings/test_pickle.yaml +++ b/gcsfs/tests/recordings/test_pickle.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAEvcDV8C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP - Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTbbGGvICxlMEKK6irtIzd9LBFmoJnWO5OAvWyck - tSxsKg49AL/As7x+lA+EinX4wf9/OT4eaDG04wAAAA== + H4sIAAfMT18C/4WPMQ7DIBAEv2JRJ9C7zEesE5xtFOAQdwiiyH+PSapUrla7mmL2rcBaZF6EnpjU + PKneu7pNii1lHP2M5N20i2SejWmt6Y1oCwjZs7YUDVTZjQ1U3T0HkJVKvMQrY/FpJY0RfLjET0mq + SVgXHH0IfoUXef0sHwgFy9i9+/9yfABPEENN4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:45.081Z\",\n \"updated\": \"2020-07-14T16:24:45.081Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: null @@ -152,10 +136,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUlKcJBZE5vcdYT7EStwSBOjVOu7tDNT17rmzEpQIpcPJZ5KYZdbsfCrqFKPHXGf319g6nghEUgLG4uSOcM1Q_MP-H-qJg + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UybbsdYCyNrwFSmmjDjYmMrXbrinPgNYPsecysmF9bE12oEPegg7Wb5qFLYgrZm2eaaNLdWvbp52PrzYzzpTQ Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -170,30 +154,38 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUlKcJBZE5vcdYT7EStwSBOjVOu7tDNT17rmzEpQIpcPJZ5KYZdbsfCrqFKPHXGf319g6nghEUgLG4uSOcM1Q_MP-H-qJg + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UybbsdYCyNrwFSmmjDjYmMrXbrinPgNYPsecysmF9bE12oEPegg7Wb5qFLYgrZm2eaaNLdWvbp52PrzYzzpTQ response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/abcdefg/1594743885976428\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/abcdefg/1599065097184260\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fabcdefg\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fabcdefg?generation=1594743885976428&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fabcdefg?generation=1599065097184260&alt=media\",\n \ \"name\": \"nested/abcdefg\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743885976428\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065097184260\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"7\",\n \"md5Hash\": \"/OqSD3QStdp74M9CuMk3WQ==\",\n - \ \"crc32c\": \"EkKX6g==\",\n \"etag\": \"COym0/aTzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:45.976Z\",\n \"updated\": \"2020-07-14T16:24:45.976Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:24:45.976Z\"\n}\n" + \ \"crc32c\": \"EkKX6g==\",\n \"etag\": \"CITI3Nj1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:44:57.184Z\",\n \"updated\": \"2020-09-02T16:44:57.184Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:44:57.184Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '762' - Content-Type: application/json; charset=UTF-8 - Etag: COym0/aTzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '758' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CITI3Nj1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUlKcJBZE5vcdYT7EStwSBOjVOu7tDNT17rmzEpQIpcPJZ5KYZdbsfCrqFKPHXGf319g6nghEUgLG4uSOcM1Q_MP-H-qJg + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UybbsdYCyNrwFSmmjDjYmMrXbrinPgNYPsecysmF9bE12oEPegg7Wb5qFLYgrZm2eaaNLdWvbp52PrzYzzpTQ - request: body: null headers: @@ -208,10 +200,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUloNB1CJSCjRiAh4XAee1n4iQ2Bw7zaopPRjKwZpmevTrpKuvdNLxmjH0gM_mnVY-IdZ1yO8kIxtkZSxz5Ko7mGg-xP4w + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxghmbOjnwcW5yMGPqn5mP5b1DQ6RQrHr_nYhNf0WeyLOCjdlECzPZgA8f1xmradZ6f28Bj2g9X8WIK7pUykQ Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -226,30 +218,38 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUloNB1CJSCjRiAh4XAee1n4iQ2Bw7zaopPRjKwZpmevTrpKuvdNLxmjH0gM_mnVY-IdZ1yO8kIxtkZSxz5Ko7mGg-xP4w + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxghmbOjnwcW5yMGPqn5mP5b1DQ6RQrHr_nYhNf0WeyLOCjdlECzPZgA8f1xmradZ6f28Bj2g9X8WIK7pUykQ response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594743886972614\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065097800376\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594743886972614&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065097800376&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743886972614\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065097800376\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n - \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CMaNkPeTzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:46.972Z\",\n \"updated\": \"2020-07-14T16:24:46.972Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:24:46.972Z\"\n}\n" + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CLiVgtn1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:44:57.800Z\",\n \"updated\": \"2020-09-02T16:44:57.800Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:44:57.800Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '750' - Content-Type: application/json; charset=UTF-8 - Etag: CMaNkPeTzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '746' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CLiVgtn1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUloNB1CJSCjRiAh4XAee1n4iQ2Bw7zaopPRjKwZpmevTrpKuvdNLxmjH0gM_mnVY-IdZ1yO8kIxtkZSxz5Ko7mGg-xP4w + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxghmbOjnwcW5yMGPqn5mP5b1DQ6RQrHr_nYhNf0WeyLOCjdlECzPZgA8f1xmradZ6f28Bj2g9X8WIK7pUykQ - request: body: null headers: {} @@ -260,11 +260,17 @@ interactions: string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/\",\n \ \"tmp/\"\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '79' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '79' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -273,77 +279,46 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/nested/abcdefg/1594743885976428\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/nested/abcdefg/1599065097184260\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fabcdefg\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fabcdefg?generation=1594743885976428&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fabcdefg?generation=1599065097184260&alt=media\",\n \ \"name\": \"nested/abcdefg\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743885976428\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065097184260\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"7\",\n \"md5Hash\": \"/OqSD3QStdp74M9CuMk3WQ==\",\n - \ \"crc32c\": \"EkKX6g==\",\n \"etag\": \"COym0/aTzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:45.976Z\",\n \"updated\": \"2020-07-14T16:24:45.976Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:24:45.976Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '888' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=tmp%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"tmp/test/\"\n - \ ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '69' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=tmp/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=tmp%2Ftest%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594743886972614\",\n + \ \"crc32c\": \"EkKX6g==\",\n \"etag\": \"CITI3Nj1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:44:57.184Z\",\n \"updated\": \"2020-09-02T16:44:57.184Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:44:57.184Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065097800376\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594743886972614&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065097800376&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743886972614\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599065097800376\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n \"crc32c\": - \"AAAAAA==\",\n \"etag\": \"CMaNkPeTzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:46.972Z\",\n \"updated\": \"2020-07-14T16:24:46.972Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:24:46.972Z\"\n }\n ]\n}\n" + \"AAAAAA==\",\n \"etag\": \"CLiVgtn1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:44:57.800Z\",\n \"updated\": \"2020-09-02T16:44:57.800Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:44:57.800Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '876' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '1707' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=tmp/test/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -391,22 +366,33 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_RWp0EYOlTg0_AAGmMK7aDyA\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_qRd4-sM7zpo_AAG0I2vMqiQ\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:24:48 GMT\r\n\r\n\r\n--batch_RWp0EYOlTg0_AAGmMK7aDyA\r\nContent-Type: + Wed, 02 Sep 2020 16:44:58 GMT\r\n\r\n\r\n--batch_qRd4-sM7zpo_AAG0I2vMqiQ\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:24:48 GMT\r\n\r\n\r\n--batch_RWp0EYOlTg0_AAGmMK7aDyA--\r\n" + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:44:58 GMT\r\n\r\n\r\n--batch_qRd4-sM7zpo_AAG0I2vMqiQ--\r\n" headers: - Cache-Control: private, max-age=0 - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_RWp0EYOlTg0_AAGmMK7aDyA - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - private, max-age=0 + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_qRd4-sM7zpo_AAG0I2vMqiQ + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_read_block.yaml b/gcsfs/tests/recordings/test_read_block.yaml index 07e70a9d..e8ee76c6 100644 --- a/gcsfs/tests/recordings/test_read_block.yaml +++ b/gcsfs/tests/recordings/test_read_block.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIANHcDV8C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULne1I82+NTiHzLPQE7Oe - lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmzWRWr+XiLIQjWpk8rBqyuqMdaQFzKYIMTL+SlJ - LQubiiMPwa/wLK+f5QOhYh198P9fjg+YY4lN4wAAAA== + H4sIAFfMT18C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP + Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTZ79qllYVNxaHWVd5Gav5cIslBN6lzJwV+2GmMN + eSGDCUIcgF/gWV4/ygdCxTr84P+/HB8gnzds4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:59.594Z\",\n \"updated\": \"2020-07-14T16:26:59.594Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: '--==0== @@ -168,24 +152,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594744019899907\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065176969735\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594744019899907&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065176969735&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744019899907\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065176969735\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"CIOswbaUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:59.899Z\",\n - \ \"updated\": \"2020-07-14T16:26:59.899Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:59.899Z\"\n}\n" + \ \"etag\": \"CIek4v71yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:16.969Z\",\n + \ \"updated\": \"2020-09-02T16:46:16.969Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:16.969Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CIOswbaUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CIek4v71yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -196,15 +188,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/nested2/file1"} + {"name": "nested/nested2/file2"} --==0== Content-Type: application/octet-stream - hello - + world --==0==--' headers: @@ -214,24 +205,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594744019994113\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594744019994113&alt=media\",\n - \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744019994113\",\n \"metageneration\": \"1\",\n \"contentType\": + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065177037321\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065177037321&alt=media\",\n + \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065177037321\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n \"crc32c\": \"NT3Yvg==\",\n - \ \"etag\": \"CIGMx7aUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:59.993Z\",\n - \ \"updated\": \"2020-07-14T16:26:59.993Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:59.993Z\"\n}\n" + \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n \"crc32c\": \"MaqBTg==\",\n + \ \"etag\": \"CIm05v71yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:17.037Z\",\n + \ \"updated\": \"2020-09-02T16:46:17.037Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:17.037Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: CIGMx7aUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CIm05v71yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -242,15 +241,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/file1"} + {"name": "nested/file2"} --==0== Content-Type: application/octet-stream - hello - + world --==0==--' headers: @@ -260,23 +258,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1594744019999972\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594744019999972&alt=media\",\n - \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744019999972\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"COS5x7aUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:59.999Z\",\n \"updated\": \"2020-07-14T16:26:59.999Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:59.999Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065177047040\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065177047040&alt=media\",\n + \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065177047040\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CICA5/71yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:17.046Z\",\n \"updated\": \"2020-09-02T16:46:17.046Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:17.046Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: COS5x7aUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CICA5/71yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -287,14 +293,15 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/file2"} + {"name": "2014-01-02.csv"} --==0== Content-Type: application/octet-stream - world + name,amount,id + --==0==--' headers: @@ -304,23 +311,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594744020000515\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594744020000515&alt=media\",\n - \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744020000515\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CIO+x7aUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:00.000Z\",\n \"updated\": \"2020-07-14T16:27:00.000Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:00.000Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065177049043\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065177049043&alt=media\",\n + \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065177049043\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CNOP5/71yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:17.048Z\",\n \"updated\": \"2020-09-02T16:46:17.048Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:17.048Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CIO+x7aUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CNOP5/71yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -355,24 +370,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594744020017417\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065177057164\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594744020017417&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065177057164&alt=media\",\n \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744020017417\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065177057164\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n - \ \"etag\": \"CInCyLaUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:27:00.017Z\",\n - \ \"updated\": \"2020-07-14T16:27:00.017Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:27:00.017Z\"\n}\n" + \ \"etag\": \"CIzP5/71yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:17.057Z\",\n + \ \"updated\": \"2020-09-02T16:46:17.057Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:17.057Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CInCyLaUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CIzP5/71yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -383,14 +406,21 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/nested2/file2"} + {"name": "2014-01-01.csv"} --==0== Content-Type: application/octet-stream - world + name,amount,id + + Alice,100,1 + + Bob,200,2 + + Charlie,300,3 + --==0==--' headers: @@ -400,24 +430,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594744020102393\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594744020102393&alt=media\",\n - \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744020102393\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n \"crc32c\": \"MaqBTg==\",\n - \ \"etag\": \"CPnZzbaUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:27:00.102Z\",\n - \ \"updated\": \"2020-07-14T16:27:00.102Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:27:00.102Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065177062675\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065177062675&alt=media\",\n + \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065177062675\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CJP65/71yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:17.062Z\",\n \"updated\": \"2020-09-02T16:46:17.062Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:17.062Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: CPnZzbaUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CJP65/71yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -428,20 +465,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-03.csv"} + {"name": "nested/file1"} --==0== Content-Type: application/octet-stream - name,amount,id - - Dennis,400,4 - - Edith,500,5 - - Frank,600,6 + hello --==0==--' @@ -452,23 +483,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594744020108890\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594744020108890&alt=media\",\n - \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744020108890\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CNqMzraUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:00.108Z\",\n \"updated\": \"2020-07-14T16:27:00.108Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:00.108Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065177073936\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065177073936&alt=media\",\n + \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065177073936\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CJDS6P71yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:17.073Z\",\n \"updated\": \"2020-09-02T16:46:17.073Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:17.073Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CNqMzraUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CJDS6P71yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -479,20 +518,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-01.csv"} + {"name": "nested/nested2/file1"} --==0== Content-Type: application/octet-stream - name,amount,id - - Alice,100,1 - - Bob,200,2 - - Charlie,300,3 + hello --==0==--' @@ -503,23 +536,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1594744020187933\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594744020187933&alt=media\",\n - \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744020187933\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CJ320raUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:00.187Z\",\n \"updated\": \"2020-07-14T16:27:00.187Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:00.187Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065177076644\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065177076644&alt=media\",\n + \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065177076644\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n \"crc32c\": \"NT3Yvg==\",\n + \ \"etag\": \"CKTn6P71yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:17.076Z\",\n + \ \"updated\": \"2020-09-02T16:46:17.076Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:17.076Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CJ320raUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CKTn6P71yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -530,7 +572,7 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-02.csv"} + {"name": "2014-01-03.csv"} --==0== @@ -539,6 +581,12 @@ interactions: name,amount,id + Dennis,400,4 + + Edith,500,5 + + Frank,600,6 + --==0==--' headers: @@ -548,23 +596,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594744020204090\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594744020204090&alt=media\",\n - \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744020204090\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CLr007aUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:00.203Z\",\n \"updated\": \"2020-07-14T16:27:00.203Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:00.203Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065177413928\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065177413928&alt=media\",\n + \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065177413928\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CKiy/f71yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:17.413Z\",\n \"updated\": \"2020-09-02T16:46:17.413Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:17.413Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CLr007aUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CKiy/f71yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -576,23 +632,30 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594744019899907\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065176969735\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594744019899907&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065176969735&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744019899907\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065176969735\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"CIOswbaUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:59.899Z\",\n - \ \"updated\": \"2020-07-14T16:26:59.899Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:59.899Z\"\n}\n" + \ \"etag\": \"CIek4v71yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:16.969Z\",\n + \ \"updated\": \"2020-09-02T16:46:16.969Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:16.969Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CIOswbaUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CIek4v71yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -603,7 +666,7 @@ interactions: Range: - bytes=1-132 method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?alt=media&generation=1594744019899907 + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?alt=media&generation=1599065176969735 response: body: string: '"amount": 100, "name": "Alice"} @@ -616,22 +679,35 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '132' - Content-Range: bytes 1-132/133 - Content-Type: application/octet-stream - Etag: CIOswbaUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744019899907' - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '132' + Content-Range: + - bytes 1-132/133 + Content-Type: + - application/octet-stream + Etag: + - CIek4v71yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065176969735' + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 206 message: Partial Content - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594744019899907&alt=media + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065176969735&alt=media - request: body: null headers: {} @@ -639,23 +715,30 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594744019899907\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065176969735\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594744019899907&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065176969735&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744019899907\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065176969735\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"CIOswbaUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:59.899Z\",\n - \ \"updated\": \"2020-07-14T16:26:59.899Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:59.899Z\"\n}\n" + \ \"etag\": \"CIek4v71yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:16.969Z\",\n + \ \"updated\": \"2020-09-02T16:46:16.969Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:16.969Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CIOswbaUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CIek4v71yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -666,7 +749,7 @@ interactions: Range: - bytes=30-132 method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?alt=media&generation=1594744019899907 + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?alt=media&generation=1599065176969735 response: body: string: '"} @@ -679,29 +762,42 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '103' - Content-Range: bytes 30-132/133 - Content-Type: application/octet-stream - Etag: CIOswbaUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744019899907' - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '103' + Content-Range: + - bytes 30-132/133 + Content-Type: + - application/octet-stream + Etag: + - CIek4v71yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065176969735' + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 206 message: Partial Content - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594744019899907&alt=media + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065176969735&alt=media - request: body: null headers: Range: - bytes=0-132 method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?alt=media&generation=1594744019899907 + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?alt=media&generation=1599065176969735 response: body: string: '{"amount": 100, "name": "Alice"} @@ -714,22 +810,35 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '133' - Content-Range: bytes 0-132/133 - Content-Type: application/octet-stream - Etag: CIOswbaUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744019899907' - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '133' + Content-Range: + - bytes 0-132/133 + Content-Type: + - application/octet-stream + Etag: + - CIek4v71yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065176969735' + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 206 message: Partial Content - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594744019899907&alt=media + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065176969735&alt=media - request: body: null headers: {} @@ -737,23 +846,30 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594744019899907\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065176969735\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594744019899907&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065176969735&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744019899907\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065176969735\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"CIOswbaUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:59.899Z\",\n - \ \"updated\": \"2020-07-14T16:26:59.899Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:59.899Z\"\n}\n" + \ \"etag\": \"CIek4v71yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:16.969Z\",\n + \ \"updated\": \"2020-09-02T16:46:16.969Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:16.969Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CIOswbaUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CIek4v71yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -764,7 +880,7 @@ interactions: Range: - bytes=35-132 method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?alt=media&generation=1594744019899907 + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?alt=media&generation=1599065176969735 response: body: string: 'amount": 200, "name": "Bob"} @@ -775,29 +891,42 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '98' - Content-Range: bytes 35-132/133 - Content-Type: application/octet-stream - Etag: CIOswbaUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744019899907' - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '98' + Content-Range: + - bytes 35-132/133 + Content-Type: + - application/octet-stream + Etag: + - CIek4v71yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065176969735' + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 206 message: Partial Content - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594744019899907&alt=media + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065176969735&alt=media - request: body: null headers: Range: - bytes=0-132 method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?alt=media&generation=1594744019899907 + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?alt=media&generation=1599065176969735 response: body: string: '{"amount": 100, "name": "Alice"} @@ -810,22 +939,35 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '133' - Content-Range: bytes 0-132/133 - Content-Type: application/octet-stream - Etag: CIOswbaUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744019899907' - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '133' + Content-Range: + - bytes 0-132/133 + Content-Type: + - application/octet-stream + Etag: + - CIek4v71yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065176969735' + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 206 message: Partial Content - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594744019899907&alt=media + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065176969735&alt=media - request: body: null headers: {} @@ -833,23 +975,30 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594744019899907\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065176969735\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594744019899907&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065176969735&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744019899907\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065176969735\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"CIOswbaUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:59.899Z\",\n - \ \"updated\": \"2020-07-14T16:26:59.899Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:59.899Z\"\n}\n" + \ \"etag\": \"CIek4v71yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:16.969Z\",\n + \ \"updated\": \"2020-09-02T16:46:16.969Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:16.969Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CIOswbaUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CIek4v71yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -860,7 +1009,7 @@ interactions: Range: - bytes=0-132 method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?alt=media&generation=1594744019899907 + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?alt=media&generation=1599065176969735 response: body: string: '{"amount": 100, "name": "Alice"} @@ -873,22 +1022,35 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '133' - Content-Range: bytes 0-132/133 - Content-Type: application/octet-stream - Etag: CIOswbaUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744019899907' - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '133' + Content-Range: + - bytes 0-132/133 + Content-Type: + - application/octet-stream + Etag: + - CIek4v71yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065176969735' + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 206 message: Partial Content - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594744019899907&alt=media + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065176969735&alt=media - request: body: null headers: {} @@ -896,23 +1058,30 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594744019899907\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065176969735\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594744019899907&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065176969735&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744019899907\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065176969735\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"CIOswbaUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:59.899Z\",\n - \ \"updated\": \"2020-07-14T16:26:59.899Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:59.899Z\"\n}\n" + \ \"etag\": \"CIek4v71yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:16.969Z\",\n + \ \"updated\": \"2020-09-02T16:46:16.969Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:16.969Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CIOswbaUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CIek4v71yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -923,7 +1092,7 @@ interactions: Range: - bytes=0-132 method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?alt=media&generation=1594744019899907 + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?alt=media&generation=1599065176969735 response: body: string: '{"amount": 100, "name": "Alice"} @@ -936,22 +1105,35 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '133' - Content-Range: bytes 0-132/133 - Content-Type: application/octet-stream - Etag: CIOswbaUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744019899907' - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '133' + Content-Range: + - bytes 0-132/133 + Content-Type: + - application/octet-stream + Etag: + - CIek4v71yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065176969735' + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 206 message: Partial Content - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594744019899907&alt=media + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065176969735&alt=media - request: body: null headers: {} @@ -959,23 +1141,30 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594744019899907\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065176969735\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594744019899907&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065176969735&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744019899907\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065176969735\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"CIOswbaUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:59.899Z\",\n - \ \"updated\": \"2020-07-14T16:26:59.899Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:59.899Z\"\n}\n" + \ \"etag\": \"CIek4v71yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:16.969Z\",\n + \ \"updated\": \"2020-09-02T16:46:16.969Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:16.969Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CIOswbaUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CIek4v71yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -986,7 +1175,7 @@ interactions: Range: - bytes=0-132 method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?alt=media&generation=1594744019899907 + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?alt=media&generation=1599065176969735 response: body: string: '{"amount": 100, "name": "Alice"} @@ -999,22 +1188,35 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '133' - Content-Range: bytes 0-132/133 - Content-Type: application/octet-stream - Etag: CIOswbaUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744019899907' - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '133' + Content-Range: + - bytes 0-132/133 + Content-Type: + - application/octet-stream + Etag: + - CIek4v71yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065176969735' + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 206 message: Partial Content - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594744019899907&alt=media + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065176969735&alt=media - request: body: null headers: {} @@ -1022,23 +1224,30 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594744019899907\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065176969735\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594744019899907&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065176969735&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744019899907\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065176969735\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"CIOswbaUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:59.899Z\",\n - \ \"updated\": \"2020-07-14T16:26:59.899Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:59.899Z\"\n}\n" + \ \"etag\": \"CIek4v71yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:16.969Z\",\n + \ \"updated\": \"2020-09-02T16:46:16.969Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:16.969Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CIOswbaUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CIek4v71yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -1049,7 +1258,7 @@ interactions: Range: - bytes=4-132 method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?alt=media&generation=1594744019899907 + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?alt=media&generation=1599065176969735 response: body: string: 'ount": 100, "name": "Alice"} @@ -1062,22 +1271,35 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '129' - Content-Range: bytes 4-132/133 - Content-Type: application/octet-stream - Etag: CIOswbaUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744019899907' - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '129' + Content-Range: + - bytes 4-132/133 + Content-Type: + - application/octet-stream + Etag: + - CIek4v71yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065176969735' + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 206 message: Partial Content - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594744019899907&alt=media + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065176969735&alt=media - request: body: null headers: {} @@ -1085,23 +1307,30 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594744019899907\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065176969735\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594744019899907&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065176969735&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744019899907\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065176969735\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"CIOswbaUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:59.899Z\",\n - \ \"updated\": \"2020-07-14T16:26:59.899Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:59.899Z\"\n}\n" + \ \"etag\": \"CIek4v71yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:16.969Z\",\n + \ \"updated\": \"2020-09-02T16:46:16.969Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:16.969Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CIOswbaUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CIek4v71yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -1113,23 +1342,30 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594744019899907\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065176969735\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594744019899907&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065176969735&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744019899907\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065176969735\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"CIOswbaUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:59.899Z\",\n - \ \"updated\": \"2020-07-14T16:26:59.899Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:59.899Z\"\n}\n" + \ \"etag\": \"CIek4v71yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:16.969Z\",\n + \ \"updated\": \"2020-09-02T16:46:16.969Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:16.969Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CIOswbaUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CIek4v71yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -1140,7 +1376,7 @@ interactions: Range: - bytes=5-132 method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?alt=media&generation=1594744019899907 + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?alt=media&generation=1599065176969735 response: body: string: 'unt": 100, "name": "Alice"} @@ -1153,22 +1389,35 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '128' - Content-Range: bytes 5-132/133 - Content-Type: application/octet-stream - Etag: CIOswbaUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744019899907' - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '128' + Content-Range: + - bytes 5-132/133 + Content-Type: + - application/octet-stream + Etag: + - CIek4v71yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065176969735' + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 206 message: Partial Content - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594744019899907&alt=media + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065176969735&alt=media - request: body: null headers: {} @@ -1176,23 +1425,30 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594744019899907\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065176969735\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594744019899907&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065176969735&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744019899907\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065176969735\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"CIOswbaUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:59.899Z\",\n - \ \"updated\": \"2020-07-14T16:26:59.899Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:59.899Z\"\n}\n" + \ \"etag\": \"CIek4v71yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:16.969Z\",\n + \ \"updated\": \"2020-09-02T16:46:16.969Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:16.969Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CIOswbaUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CIek4v71yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -1203,7 +1459,7 @@ interactions: Range: - bytes=5-132 method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?alt=media&generation=1594744019899907 + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?alt=media&generation=1599065176969735 response: body: string: 'unt": 100, "name": "Alice"} @@ -1216,185 +1472,149 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '128' - Content-Range: bytes 5-132/133 - Content-Type: application/octet-stream - Etag: CIOswbaUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744019899907' - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '128' + Content-Range: + - bytes 5-132/133 + Content-Type: + - application/octet-stream + Etag: + - CIek4v71yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065176969735' + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 206 message: Partial Content - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594744019899907&alt=media + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065176969735&alt=media - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/\",\n - \ \"test/\"\n ],\n \"items\": [\n {\n \"kind\": \"storage#object\",\n - \ \"id\": \"gcsfs-testing/2014-01-01.csv/1594744020187933\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594744020187933&alt=media\",\n + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065177062675\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065177062675&alt=media\",\n \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744020187933\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065177062675\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CJ320raUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:00.187Z\",\n \"updated\": \"2020-07-14T16:27:00.187Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:00.187Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594744020204090\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CJP65/71yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:17.062Z\",\n \"updated\": \"2020-09-02T16:46:17.062Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:17.062Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065177049043\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594744020204090&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065177049043&alt=media\",\n \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744020204090\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065177049043\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CLr007aUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:00.203Z\",\n \"updated\": \"2020-07-14T16:27:00.203Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:00.203Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594744020108890\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CNOP5/71yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:17.048Z\",\n \"updated\": \"2020-09-02T16:46:17.048Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:17.048Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065177413928\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594744020108890&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065177413928&alt=media\",\n \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744020108890\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065177413928\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CNqMzraUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:00.108Z\",\n \"updated\": \"2020-07-14T16:27:00.108Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:00.108Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '2605' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/nested2/\"\n - \ ],\n \"items\": [\n {\n \"kind\": \"storage#object\",\n \"id\": - \"gcsfs-testing/nested/file1/1594744019999972\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594744019999972&alt=media\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CKiy/f71yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:17.413Z\",\n \"updated\": \"2020-09-02T16:46:17.413Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:17.413Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065177073936\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065177073936&alt=media\",\n \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744019999972\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065177073936\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"COS5x7aUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:59.999Z\",\n \"updated\": \"2020-07-14T16:26:59.999Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:59.999Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594744020000515\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CJDS6P71yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:17.073Z\",\n \"updated\": \"2020-09-02T16:46:17.073Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:17.073Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065177047040\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594744020000515&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065177047040&alt=media\",\n \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744020000515\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065177047040\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CIO+x7aUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:00.000Z\",\n \"updated\": \"2020-07-14T16:27:00.000Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:00.000Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1754' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2Fnested2%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594744019994113\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CICA5/71yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:17.046Z\",\n \"updated\": \"2020-09-02T16:46:17.046Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:17.046Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065177076644\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594744019994113&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065177076644&alt=media\",\n \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744019994113\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065177076644\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CIGMx7aUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:59.993Z\",\n \"updated\": \"2020-07-14T16:26:59.993Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:59.993Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594744020102393\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CKTn6P71yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:17.076Z\",\n \"updated\": \"2020-09-02T16:46:17.076Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:17.076Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065177037321\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594744020102393&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065177037321&alt=media\",\n \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744020102393\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065177037321\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CPnZzbaUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:00.102Z\",\n \"updated\": \"2020-07-14T16:27:00.102Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:00.102Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1783' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/nested2/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=test%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594744019899907\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CIm05v71yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:17.037Z\",\n \"updated\": \"2020-09-02T16:46:17.037Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:17.037Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065176969735\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594744019899907&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065176969735&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744019899907\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065176969735\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n - \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CIOswbaUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:59.899Z\",\n \"updated\": \"2020-07-14T16:26:59.899Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:59.899Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594744020017417\",\n + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CIek4v71yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:16.969Z\",\n \"updated\": \"2020-09-02T16:46:16.969Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:16.969Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065177057164\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594744020017417&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065177057164&alt=media\",\n \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744020017417\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065177057164\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n - \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CInCyLaUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:00.017Z\",\n \"updated\": \"2020-07-14T16:27:00.017Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:00.017Z\"\n }\n ]\n}\n" + \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CIzP5/71yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:17.057Z\",\n \"updated\": \"2020-09-02T16:46:17.057Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:17.057Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1779' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '7647' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=test/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -1568,36 +1788,47 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_7fwPpjUHCCQ_AAoipecU0hE\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_d1e9unbwwCg_AAAihnykHE0\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:27:03 GMT\r\n\r\n\r\n--batch_7fwPpjUHCCQ_AAoipecU0hE\r\nContent-Type: + Wed, 02 Sep 2020 16:46:19 GMT\r\n\r\n\r\n--batch_d1e9unbwwCg_AAAihnykHE0\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:27:03 GMT\r\n\r\n\r\n--batch_7fwPpjUHCCQ_AAoipecU0hE\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:19 GMT\r\n\r\n\r\n--batch_d1e9unbwwCg_AAAihnykHE0\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:27:03 GMT\r\n\r\n\r\n--batch_7fwPpjUHCCQ_AAoipecU0hE\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:19 GMT\r\n\r\n\r\n--batch_d1e9unbwwCg_AAAihnykHE0\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:27:03 GMT\r\n\r\n\r\n--batch_7fwPpjUHCCQ_AAoipecU0hE\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:19 GMT\r\n\r\n\r\n--batch_d1e9unbwwCg_AAAihnykHE0\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:27:03 GMT\r\n\r\n\r\n--batch_7fwPpjUHCCQ_AAoipecU0hE\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:19 GMT\r\n\r\n\r\n--batch_d1e9unbwwCg_AAAihnykHE0\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:27:03 GMT\r\n\r\n\r\n--batch_7fwPpjUHCCQ_AAoipecU0hE\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:19 GMT\r\n\r\n\r\n--batch_d1e9unbwwCg_AAAihnykHE0\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:27:03 GMT\r\n\r\n\r\n--batch_7fwPpjUHCCQ_AAoipecU0hE\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:19 GMT\r\n\r\n\r\n--batch_d1e9unbwwCg_AAAihnykHE0\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:27:03 GMT\r\n\r\n\r\n--batch_7fwPpjUHCCQ_AAoipecU0hE\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:19 GMT\r\n\r\n\r\n--batch_d1e9unbwwCg_AAAihnykHE0\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:27:03 GMT\r\n\r\n\r\n--batch_7fwPpjUHCCQ_AAoipecU0hE--\r\n" + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:19 GMT\r\n\r\n\r\n--batch_d1e9unbwwCg_AAAihnykHE0--\r\n" headers: - Cache-Control: private, max-age=0 - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_7fwPpjUHCCQ_AAoipecU0hE - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - private, max-age=0 + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_d1e9unbwwCg_AAAihnykHE0 + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_read_keys_from_bucket.yaml b/gcsfs/tests/recordings/test_read_keys_from_bucket.yaml index 0014a771..d86a2c46 100644 --- a/gcsfs/tests/recordings/test_read_keys_from_bucket.yaml +++ b/gcsfs/tests/recordings/test_read_keys_from_bucket.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAIHcDV8C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULne1I82+NTiHzLPQE7Oe - lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmz25KllYVNxZHViOXh1hblIzd9LBFmopst5Y6wh - L2QwQYhD8Cs8y+tn+UCoWEcf/P+X4wMEC22h4wAAAA== + H4sIACvMT18C/4WPsQ7DIBBDfyVibmHP2B+JTnBJUIFD3CGoqvx7Qzt1ymTZsuTntwJrkXkRemJS + 86R67+o2KbaUcfhTknfTLpJ5Nqa1pjeiLSBkz9pSNFBlNzZQdfccQFYq8bJ+rlJNwrrg8Jf9ylh8 + WkljBB8G4Bd4kdeP8oFQsIzcu/8vxweqU72p4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:39.682Z\",\n \"updated\": \"2020-07-14T16:25:39.682Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: '--==0== @@ -168,24 +152,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594743939993971\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065131928805\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594743939993971&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065131928805&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743939993971\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065131928805\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"CPOitJCUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:25:39.993Z\",\n - \ \"updated\": \"2020-07-14T16:25:39.993Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:25:39.993Z\"\n}\n" + \ \"etag\": \"COWZpen1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:31.928Z\",\n + \ \"updated\": \"2020-09-02T16:45:31.928Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:31.928Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CPOitJCUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - COWZpen1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -196,7 +188,7 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-03.csv"} + {"name": "2014-01-02.csv"} --==0== @@ -205,12 +197,6 @@ interactions: name,amount,id - Dennis,400,4 - - Edith,500,5 - - Frank,600,6 - --==0==--' headers: @@ -220,23 +206,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594743940093394\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594743940093394&alt=media\",\n - \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743940093394\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CNKrupCUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:40.093Z\",\n \"updated\": \"2020-07-14T16:25:40.093Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:40.093Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065131999142\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065131999142&alt=media\",\n + \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065131999142\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CKa/qen1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:31.999Z\",\n \"updated\": \"2020-09-02T16:45:31.999Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:31.999Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CNKrupCUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CKa/qen1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -271,24 +265,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594743940095982\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065132034055\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594743940095982&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065132034055&alt=media\",\n \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743940095982\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065132034055\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n - \ \"etag\": \"CO6/upCUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:25:40.095Z\",\n - \ \"updated\": \"2020-07-14T16:25:40.095Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:25:40.095Z\"\n}\n" + \ \"etag\": \"CIfQq+n1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:32.033Z\",\n + \ \"updated\": \"2020-09-02T16:45:32.033Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:32.033Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CO6/upCUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CIfQq+n1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -299,14 +301,15 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/nested2/file2"} + {"name": "nested/file1"} --==0== Content-Type: application/octet-stream - world + hello + --==0==--' headers: @@ -316,24 +319,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594743940112481\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594743940112481&alt=media\",\n - \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743940112481\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n \"crc32c\": \"MaqBTg==\",\n - \ \"etag\": \"COHAu5CUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:25:40.112Z\",\n - \ \"updated\": \"2020-07-14T16:25:40.112Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:25:40.112Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065132049574\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065132049574&alt=media\",\n + \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065132049574\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CKbJrOn1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:32.049Z\",\n \"updated\": \"2020-09-02T16:45:32.049Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:32.049Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: COHAu5CUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CKbJrOn1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -361,23 +371,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594743940195276\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065132051846\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594743940195276&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065132051846&alt=media\",\n \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743940195276\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065132051846\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CMzHwJCUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:40.195Z\",\n \"updated\": \"2020-07-14T16:25:40.195Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:40.195Z\"\n}\n" + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CIbbrOn1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:32.051Z\",\n \"updated\": \"2020-09-02T16:45:32.051Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:32.051Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CMzHwJCUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CIbbrOn1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -388,7 +406,7 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/file1"} + {"name": "nested/nested2/file1"} --==0== @@ -406,23 +424,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1594743940197979\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594743940197979&alt=media\",\n - \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743940197979\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CNvcwJCUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:40.197Z\",\n \"updated\": \"2020-07-14T16:25:40.197Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:40.197Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065132053642\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065132053642&alt=media\",\n + \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065132053642\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n \"crc32c\": \"NT3Yvg==\",\n + \ \"etag\": \"CIrprOn1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:32.053Z\",\n + \ \"updated\": \"2020-09-02T16:45:32.053Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:32.053Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CNvcwJCUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CIrprOn1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -433,21 +460,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-01.csv"} + {"name": "nested/nested2/file2"} --==0== Content-Type: application/octet-stream - name,amount,id - - Alice,100,1 - - Bob,200,2 - - Charlie,300,3 - + world --==0==--' headers: @@ -457,23 +477,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1594743940200503\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594743940200503&alt=media\",\n - \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743940200503\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CLfwwJCUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:40.200Z\",\n \"updated\": \"2020-07-14T16:25:40.200Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:40.200Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065132076857\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065132076857&alt=media\",\n + \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065132076857\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n \"crc32c\": \"MaqBTg==\",\n + \ \"etag\": \"CLmerun1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:32.076Z\",\n + \ \"updated\": \"2020-09-02T16:45:32.076Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:32.076Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CLfwwJCUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CLmerun1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -484,14 +513,20 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/nested2/file1"} + {"name": "2014-01-01.csv"} --==0== Content-Type: application/octet-stream - hello + name,amount,id + + Alice,100,1 + + Bob,200,2 + + Charlie,300,3 --==0==--' @@ -502,24 +537,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594743940218252\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594743940218252&alt=media\",\n - \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743940218252\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n \"crc32c\": \"NT3Yvg==\",\n - \ \"etag\": \"CIz7wZCUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:25:40.218Z\",\n - \ \"updated\": \"2020-07-14T16:25:40.218Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:25:40.218Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065132090903\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065132090903&alt=media\",\n + \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065132090903\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CJeMr+n1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:32.090Z\",\n \"updated\": \"2020-09-02T16:45:32.090Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:32.090Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: CIz7wZCUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CJeMr+n1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -530,7 +572,7 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-02.csv"} + {"name": "2014-01-03.csv"} --==0== @@ -539,6 +581,12 @@ interactions: name,amount,id + Dennis,400,4 + + Edith,500,5 + + Frank,600,6 + --==0==--' headers: @@ -548,23 +596,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594743941107481\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594743941107481&alt=media\",\n - \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743941107481\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CJme+JCUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:41.107Z\",\n \"updated\": \"2020-07-14T16:25:41.107Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:41.107Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065133038126\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065133038126&alt=media\",\n + \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065133038126\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CK706On1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:33.037Z\",\n \"updated\": \"2020-09-02T16:45:33.037Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:33.037Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CJme+JCUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CK706On1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -586,18 +642,31 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '133' - Content-Type: application/octet-stream - Etag: CPOitJCUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594743939993971' - X-Goog-Hash: crc32c=6wJAgQ==,md5=xK7pmJz/Oj5HGIyfQpYTig== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '133' + Content-Type: + - application/octet-stream + Etag: + - COWZpen1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065131928805' + X-Goog-Hash: + - crc32c=6wJAgQ==,md5=xK7pmJz/Oj5HGIyfQpYTig== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK @@ -619,18 +688,31 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '133' - Content-Type: application/octet-stream - Etag: CO6/upCUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594743940095982' - X-Goog-Hash: crc32c=Su+F+g==,md5=bjhC5OCrzKV+8MGMCF2BQA== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '133' + Content-Type: + - application/octet-stream + Etag: + - CIfQq+n1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065132034055' + X-Goog-Hash: + - crc32c=Su+F+g==,md5=bjhC5OCrzKV+8MGMCF2BQA== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK @@ -652,18 +734,31 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '133' - Content-Type: application/octet-stream - Etag: CPOitJCUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594743939993971' - X-Goog-Hash: crc32c=6wJAgQ==,md5=xK7pmJz/Oj5HGIyfQpYTig== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '133' + Content-Type: + - application/octet-stream + Etag: + - COWZpen1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065131928805' + X-Goog-Hash: + - crc32c=6wJAgQ==,md5=xK7pmJz/Oj5HGIyfQpYTig== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK @@ -685,18 +780,31 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '133' - Content-Type: application/octet-stream - Etag: CPOitJCUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594743939993971' - X-Goog-Hash: crc32c=6wJAgQ==,md5=xK7pmJz/Oj5HGIyfQpYTig== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '133' + Content-Type: + - application/octet-stream + Etag: + - COWZpen1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065131928805' + X-Goog-Hash: + - crc32c=6wJAgQ==,md5=xK7pmJz/Oj5HGIyfQpYTig== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK @@ -718,18 +826,31 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '133' - Content-Type: application/octet-stream - Etag: CO6/upCUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594743940095982' - X-Goog-Hash: crc32c=Su+F+g==,md5=bjhC5OCrzKV+8MGMCF2BQA== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '133' + Content-Type: + - application/octet-stream + Etag: + - CIfQq+n1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065132034055' + X-Goog-Hash: + - crc32c=Su+F+g==,md5=bjhC5OCrzKV+8MGMCF2BQA== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK @@ -751,18 +872,31 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '133' - Content-Type: application/octet-stream - Etag: CO6/upCUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594743940095982' - X-Goog-Hash: crc32c=Su+F+g==,md5=bjhC5OCrzKV+8MGMCF2BQA== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '133' + Content-Type: + - application/octet-stream + Etag: + - CIfQq+n1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065132034055' + X-Goog-Hash: + - crc32c=Su+F+g==,md5=bjhC5OCrzKV+8MGMCF2BQA== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK @@ -771,165 +905,116 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/\",\n - \ \"test/\"\n ],\n \"items\": [\n {\n \"kind\": \"storage#object\",\n - \ \"id\": \"gcsfs-testing/2014-01-01.csv/1594743940200503\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594743940200503&alt=media\",\n + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065132090903\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065132090903&alt=media\",\n \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743940200503\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065132090903\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CLfwwJCUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:40.200Z\",\n \"updated\": \"2020-07-14T16:25:40.200Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:40.200Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594743941107481\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CJeMr+n1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:32.090Z\",\n \"updated\": \"2020-09-02T16:45:32.090Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:32.090Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065131999142\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594743941107481&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065131999142&alt=media\",\n \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743941107481\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065131999142\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CJme+JCUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:41.107Z\",\n \"updated\": \"2020-07-14T16:25:41.107Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:41.107Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594743940093394\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CKa/qen1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:31.999Z\",\n \"updated\": \"2020-09-02T16:45:31.999Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:31.999Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065133038126\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594743940093394&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065133038126&alt=media\",\n \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743940093394\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065133038126\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CNKrupCUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:40.093Z\",\n \"updated\": \"2020-07-14T16:25:40.093Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:40.093Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '2605' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/nested2/\"\n - \ ],\n \"items\": [\n {\n \"kind\": \"storage#object\",\n \"id\": - \"gcsfs-testing/nested/file1/1594743940197979\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594743940197979&alt=media\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CK706On1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:33.037Z\",\n \"updated\": \"2020-09-02T16:45:33.037Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:33.037Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065132049574\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065132049574&alt=media\",\n \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743940197979\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065132049574\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CNvcwJCUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:40.197Z\",\n \"updated\": \"2020-07-14T16:25:40.197Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:40.197Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594743940195276\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CKbJrOn1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:32.049Z\",\n \"updated\": \"2020-09-02T16:45:32.049Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:32.049Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065132051846\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594743940195276&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065132051846&alt=media\",\n \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743940195276\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065132051846\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CMzHwJCUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:40.195Z\",\n \"updated\": \"2020-07-14T16:25:40.195Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:40.195Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1754' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2Fnested2%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594743940218252\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CIbbrOn1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:32.051Z\",\n \"updated\": \"2020-09-02T16:45:32.051Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:32.051Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065132053642\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594743940218252&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065132053642&alt=media\",\n \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743940218252\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065132053642\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CIz7wZCUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:40.218Z\",\n \"updated\": \"2020-07-14T16:25:40.218Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:40.218Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594743940112481\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CIrprOn1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:32.053Z\",\n \"updated\": \"2020-09-02T16:45:32.053Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:32.053Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065132076857\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594743940112481&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065132076857&alt=media\",\n \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743940112481\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065132076857\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"COHAu5CUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:40.112Z\",\n \"updated\": \"2020-07-14T16:25:40.112Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:40.112Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1783' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/nested2/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=test%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594743939993971\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CLmerun1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:32.076Z\",\n \"updated\": \"2020-09-02T16:45:32.076Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:32.076Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065131928805\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594743939993971&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065131928805&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743939993971\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065131928805\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n - \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CPOitJCUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:39.993Z\",\n \"updated\": \"2020-07-14T16:25:39.993Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:39.993Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594743940095982\",\n + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"COWZpen1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:31.928Z\",\n \"updated\": \"2020-09-02T16:45:31.928Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:31.928Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065132034055\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594743940095982&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065132034055&alt=media\",\n \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743940095982\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065132034055\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n - \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CO6/upCUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:40.095Z\",\n \"updated\": \"2020-07-14T16:25:40.095Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:40.095Z\"\n }\n ]\n}\n" + \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CIfQq+n1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:32.033Z\",\n \"updated\": \"2020-09-02T16:45:32.033Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:32.033Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1779' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '7647' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=test/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -1103,36 +1188,47 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_3u6mMmgx0fw_AAFkmYptas4\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_c4j_tSPaOuQ_AAd1zXQlt7s\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:25:43 GMT\r\n\r\n\r\n--batch_3u6mMmgx0fw_AAFkmYptas4\r\nContent-Type: + Wed, 02 Sep 2020 16:45:33 GMT\r\n\r\n\r\n--batch_c4j_tSPaOuQ_AAd1zXQlt7s\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:43 GMT\r\n\r\n\r\n--batch_3u6mMmgx0fw_AAFkmYptas4\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:33 GMT\r\n\r\n\r\n--batch_c4j_tSPaOuQ_AAd1zXQlt7s\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:43 GMT\r\n\r\n\r\n--batch_3u6mMmgx0fw_AAFkmYptas4\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:33 GMT\r\n\r\n\r\n--batch_c4j_tSPaOuQ_AAd1zXQlt7s\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:43 GMT\r\n\r\n\r\n--batch_3u6mMmgx0fw_AAFkmYptas4\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:33 GMT\r\n\r\n\r\n--batch_c4j_tSPaOuQ_AAd1zXQlt7s\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:43 GMT\r\n\r\n\r\n--batch_3u6mMmgx0fw_AAFkmYptas4\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:33 GMT\r\n\r\n\r\n--batch_c4j_tSPaOuQ_AAd1zXQlt7s\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:43 GMT\r\n\r\n\r\n--batch_3u6mMmgx0fw_AAFkmYptas4\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:33 GMT\r\n\r\n\r\n--batch_c4j_tSPaOuQ_AAd1zXQlt7s\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:43 GMT\r\n\r\n\r\n--batch_3u6mMmgx0fw_AAFkmYptas4\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:33 GMT\r\n\r\n\r\n--batch_c4j_tSPaOuQ_AAd1zXQlt7s\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:43 GMT\r\n\r\n\r\n--batch_3u6mMmgx0fw_AAFkmYptas4\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:33 GMT\r\n\r\n\r\n--batch_c4j_tSPaOuQ_AAd1zXQlt7s\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:43 GMT\r\n\r\n\r\n--batch_3u6mMmgx0fw_AAFkmYptas4--\r\n" + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:33 GMT\r\n\r\n\r\n--batch_c4j_tSPaOuQ_AAd1zXQlt7s--\r\n" headers: - Cache-Control: private, max-age=0 - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_3u6mMmgx0fw_AAFkmYptas4 - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - private, max-age=0 + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_c4j_tSPaOuQ_AAd1zXQlt7s + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_read_small.yaml b/gcsfs/tests/recordings/test_read_small.yaml index bf0eabc6..498d08c8 100644 --- a/gcsfs/tests/recordings/test_read_small.yaml +++ b/gcsfs/tests/recordings/test_read_small.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAMncDV8C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULnc1K82+NTiHzLPQE7Oe - lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmz23FPLwqbiyOqKb4w15IUMJgjxEneRmr+XCLJQ - TeqUysEPwa/wLK+f5QOhYh198P9fjg+z0wad4wAAAA== + H4sIAFHMT18C/4WPMQ7DIBAEv2JRJ9C7zEesE5xtFOAQdwiiyH+PSapUrla7mmL2rcBaZF6EnpjU + PKneu7pNii1lHP2M5N20i2SejWmt6Y1oCwjZs7YUDVTZjQ1U3T0HkJVKvMQrY/FpJY0RfLjET0mq + SVgXHH0IfoUXef0sHwgFy9i9+/9yfABPEENN4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:51.094Z\",\n \"updated\": \"2020-07-14T16:26:51.094Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: '--==0== @@ -168,24 +152,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594744011410648\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065170135826\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594744011410648&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065170135826&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744011410648\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065170135826\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"CNiZu7KUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:51.410Z\",\n - \ \"updated\": \"2020-07-14T16:26:51.410Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:51.410Z\"\n}\n" + \ \"etag\": \"CJKWwfv1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:10.135Z\",\n + \ \"updated\": \"2020-09-02T16:46:10.135Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:10.135Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CNiZu7KUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CJKWwfv1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -196,15 +188,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/file1"} + {"name": "nested/nested2/file2"} --==0== Content-Type: application/octet-stream - hello - + world --==0==--' headers: @@ -214,23 +205,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1594744011503016\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594744011503016&alt=media\",\n - \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744011503016\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CKjrwLKUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:51.502Z\",\n \"updated\": \"2020-07-14T16:26:51.502Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:51.502Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065170235354\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065170235354&alt=media\",\n + \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065170235354\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n \"crc32c\": \"MaqBTg==\",\n + \ \"etag\": \"CNqfx/v1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:10.235Z\",\n + \ \"updated\": \"2020-09-02T16:46:10.235Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:10.235Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CKjrwLKUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CNqfx/v1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -241,14 +241,20 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/nested2/file1"} + {"name": "2014-01-01.csv"} --==0== Content-Type: application/octet-stream - hello + name,amount,id + + Alice,100,1 + + Bob,200,2 + + Charlie,300,3 --==0==--' @@ -259,24 +265,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594744011511316\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594744011511316&alt=media\",\n - \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744011511316\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n \"crc32c\": \"NT3Yvg==\",\n - \ \"etag\": \"CJSswbKUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:51.511Z\",\n - \ \"updated\": \"2020-07-14T16:26:51.511Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:51.511Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065170237149\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065170237149&alt=media\",\n + \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065170237149\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CN2tx/v1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:10.237Z\",\n \"updated\": \"2020-09-02T16:46:10.237Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:10.237Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: CJSswbKUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CN2tx/v1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -287,14 +300,21 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/file2"} + {"name": "test/accounts.2.json"} --==0== Content-Type: application/octet-stream - world + {"amount": 500, "name": "Alice"} + + {"amount": 600, "name": "Bob"} + + {"amount": 700, "name": "Charlie"} + + {"amount": 800, "name": "Dennis"} + --==0==--' headers: @@ -304,23 +324,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594744011505541\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594744011505541&alt=media\",\n - \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744011505541\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CIX/wLKUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:51.505Z\",\n \"updated\": \"2020-07-14T16:26:51.505Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:51.505Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065170248506\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065170248506&alt=media\",\n + \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065170248506\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n + \ \"etag\": \"CLqGyPv1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:10.248Z\",\n + \ \"updated\": \"2020-09-02T16:46:10.248Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:10.248Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CIX/wLKUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CLqGyPv1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -331,14 +360,15 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/nested2/file2"} + {"name": "nested/nested2/file1"} --==0== Content-Type: application/octet-stream - world + hello + --==0==--' headers: @@ -348,24 +378,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594744011513544\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594744011513544&alt=media\",\n - \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744011513544\",\n \"metageneration\": \"1\",\n \"contentType\": + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065170249630\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065170249630&alt=media\",\n + \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065170249630\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n \"crc32c\": \"MaqBTg==\",\n - \ \"etag\": \"CMi9wbKUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:51.513Z\",\n - \ \"updated\": \"2020-07-14T16:26:51.513Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:51.513Z\"\n}\n" + \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n \"crc32c\": \"NT3Yvg==\",\n + \ \"etag\": \"CJ6PyPv1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:10.249Z\",\n + \ \"updated\": \"2020-09-02T16:46:10.249Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:10.249Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: CMi9wbKUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CJ6PyPv1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -376,7 +414,7 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-03.csv"} + {"name": "2014-01-02.csv"} --==0== @@ -385,12 +423,6 @@ interactions: name,amount,id - Dennis,400,4 - - Edith,500,5 - - Frank,600,6 - --==0==--' headers: @@ -400,23 +432,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594744011525248\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594744011525248&alt=media\",\n - \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744011525248\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CICZwrKUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:51.525Z\",\n \"updated\": \"2020-07-14T16:26:51.525Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:51.525Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065170293098\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065170293098&alt=media\",\n + \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065170293098\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"COriyvv1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:10.292Z\",\n \"updated\": \"2020-09-02T16:46:10.292Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:10.292Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CICZwrKUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - COriyvv1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -427,20 +467,20 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "test/accounts.2.json"} + {"name": "2014-01-03.csv"} --==0== Content-Type: application/octet-stream - {"amount": 500, "name": "Alice"} + name,amount,id - {"amount": 600, "name": "Bob"} + Dennis,400,4 - {"amount": 700, "name": "Charlie"} + Edith,500,5 - {"amount": 800, "name": "Dennis"} + Frank,600,6 --==0==--' @@ -451,24 +491,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594744011539627\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594744011539627&alt=media\",\n - \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744011539627\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n - \ \"etag\": \"CKuJw7KUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:51.539Z\",\n - \ \"updated\": \"2020-07-14T16:26:51.539Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:51.539Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065170478635\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065170478635&alt=media\",\n + \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065170478635\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CKuM1vv1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:10.478Z\",\n \"updated\": \"2020-09-02T16:46:10.478Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:10.478Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CKuJw7KUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CKuM1vv1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -479,21 +526,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-01.csv"} + {"name": "nested/file2"} --==0== Content-Type: application/octet-stream - name,amount,id - - Alice,100,1 - - Bob,200,2 - - Charlie,300,3 - + world --==0==--' headers: @@ -503,23 +543,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1594744011607464\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594744011607464&alt=media\",\n - \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744011607464\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CKibx7KUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:51.607Z\",\n \"updated\": \"2020-07-14T16:26:51.607Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:51.607Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065171271806\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065171271806&alt=media\",\n + \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065171271806\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CP7Ahvz1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:11.271Z\",\n \"updated\": \"2020-09-02T16:46:11.271Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:11.271Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CKibx7KUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CP7Ahvz1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -530,14 +578,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-02.csv"} + {"name": "nested/file1"} --==0== Content-Type: application/octet-stream - name,amount,id + hello --==0==--' @@ -548,23 +596,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594744011690929\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594744011690929&alt=media\",\n - \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744011690929\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CLGnzLKUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:51.690Z\",\n \"updated\": \"2020-07-14T16:26:51.690Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:51.690Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065171279467\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065171279467&alt=media\",\n + \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065171279467\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"COv8hvz1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:11.279Z\",\n \"updated\": \"2020-09-02T16:46:11.279Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:11.279Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CLGnzLKUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - COv8hvz1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -576,22 +632,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1594744011607464\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065170237149\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594744011607464&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065170237149&alt=media\",\n \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744011607464\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065170237149\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CKibx7KUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:51.607Z\",\n \"updated\": \"2020-07-14T16:26:51.607Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:51.607Z\"\n}\n" + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CN2tx/v1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:10.237Z\",\n \"updated\": \"2020-09-02T16:46:10.237Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:10.237Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CKibx7KUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CN2tx/v1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -602,63 +665,89 @@ interactions: Range: - bytes=0-12 method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?alt=media&generation=1594744011607464 + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?alt=media&generation=1599065170237149 response: body: string: name,amount,i headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '13' - Content-Range: bytes 0-12/51 - Content-Type: application/octet-stream - Etag: CKibx7KUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744011607464' - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '13' + Content-Range: + - bytes 0-12/51 + Content-Type: + - application/octet-stream + Etag: + - CN2tx/v1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065170237149' + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 206 message: Partial Content - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594744011607464&alt=media + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065170237149&alt=media - request: body: null headers: Range: - bytes=13-24 method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?alt=media&generation=1594744011607464 + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?alt=media&generation=1599065170237149 response: body: string: 'd Alice,100,' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '12' - Content-Range: bytes 13-24/51 - Content-Type: application/octet-stream - Etag: CKibx7KUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744011607464' - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '12' + Content-Range: + - bytes 13-24/51 + Content-Type: + - application/octet-stream + Etag: + - CN2tx/v1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065170237149' + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 206 message: Partial Content - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594744011607464&alt=media + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065170237149&alt=media - request: body: null headers: Range: - bytes=25-36 method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?alt=media&generation=1594744011607464 + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?alt=media&generation=1599065170237149 response: body: string: '1 @@ -667,78 +756,117 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '12' - Content-Range: bytes 25-36/51 - Content-Type: application/octet-stream - Etag: CKibx7KUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744011607464' - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '12' + Content-Range: + - bytes 25-36/51 + Content-Type: + - application/octet-stream + Etag: + - CN2tx/v1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065170237149' + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 206 message: Partial Content - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594744011607464&alt=media + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065170237149&alt=media - request: body: null headers: Range: - bytes=37-48 method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?alt=media&generation=1594744011607464 + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?alt=media&generation=1599065170237149 response: body: string: Charlie,300, headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '12' - Content-Range: bytes 37-48/51 - Content-Type: application/octet-stream - Etag: CKibx7KUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744011607464' - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '12' + Content-Range: + - bytes 37-48/51 + Content-Type: + - application/octet-stream + Etag: + - CN2tx/v1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065170237149' + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 206 message: Partial Content - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594744011607464&alt=media + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065170237149&alt=media - request: body: null headers: Range: - bytes=49-50 method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?alt=media&generation=1594744011607464 + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?alt=media&generation=1599065170237149 response: body: string: '3 ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '2' - Content-Range: bytes 49-50/51 - Content-Type: application/octet-stream - Etag: CKibx7KUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744011607464' - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '2' + Content-Range: + - bytes 49-50/51 + Content-Type: + - application/octet-stream + Etag: + - CN2tx/v1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065170237149' + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 206 message: Partial Content - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594744011607464&alt=media + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065170237149&alt=media - request: body: null headers: {} @@ -756,18 +884,31 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '51' - Content-Type: application/octet-stream - Etag: CKibx7KUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744011607464' - X-Goog-Hash: crc32c=yR1u0w==,md5=Auycd2AT7x5m8G1W0NXcuA== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '51' + Content-Type: + - application/octet-stream + Etag: + - CN2tx/v1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065170237149' + X-Goog-Hash: + - crc32c=yR1u0w==,md5=Auycd2AT7x5m8G1W0NXcuA== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK @@ -776,165 +917,116 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/\",\n - \ \"test/\"\n ],\n \"items\": [\n {\n \"kind\": \"storage#object\",\n - \ \"id\": \"gcsfs-testing/2014-01-01.csv/1594744011607464\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594744011607464&alt=media\",\n + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065170237149\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065170237149&alt=media\",\n \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744011607464\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065170237149\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CKibx7KUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:51.607Z\",\n \"updated\": \"2020-07-14T16:26:51.607Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:51.607Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594744011690929\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CN2tx/v1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:10.237Z\",\n \"updated\": \"2020-09-02T16:46:10.237Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:10.237Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065170293098\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594744011690929&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065170293098&alt=media\",\n \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744011690929\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065170293098\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CLGnzLKUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:51.690Z\",\n \"updated\": \"2020-07-14T16:26:51.690Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:51.690Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594744011525248\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"COriyvv1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:10.292Z\",\n \"updated\": \"2020-09-02T16:46:10.292Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:10.292Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065170478635\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594744011525248&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065170478635&alt=media\",\n \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744011525248\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065170478635\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CICZwrKUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:51.525Z\",\n \"updated\": \"2020-07-14T16:26:51.525Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:51.525Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '2605' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/nested2/\"\n - \ ],\n \"items\": [\n {\n \"kind\": \"storage#object\",\n \"id\": - \"gcsfs-testing/nested/file1/1594744011503016\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594744011503016&alt=media\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CKuM1vv1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:10.478Z\",\n \"updated\": \"2020-09-02T16:46:10.478Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:10.478Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065171279467\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065171279467&alt=media\",\n \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744011503016\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065171279467\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CKjrwLKUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:51.502Z\",\n \"updated\": \"2020-07-14T16:26:51.502Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:51.502Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594744011505541\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"COv8hvz1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:11.279Z\",\n \"updated\": \"2020-09-02T16:46:11.279Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:11.279Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065171271806\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594744011505541&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065171271806&alt=media\",\n \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744011505541\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065171271806\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CIX/wLKUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:51.505Z\",\n \"updated\": \"2020-07-14T16:26:51.505Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:51.505Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1754' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2Fnested2%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594744011511316\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CP7Ahvz1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:11.271Z\",\n \"updated\": \"2020-09-02T16:46:11.271Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:11.271Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065170249630\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594744011511316&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065170249630&alt=media\",\n \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744011511316\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065170249630\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CJSswbKUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:51.511Z\",\n \"updated\": \"2020-07-14T16:26:51.511Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:51.511Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594744011513544\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CJ6PyPv1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:10.249Z\",\n \"updated\": \"2020-09-02T16:46:10.249Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:10.249Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065170235354\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594744011513544&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065170235354&alt=media\",\n \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744011513544\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065170235354\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CMi9wbKUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:51.513Z\",\n \"updated\": \"2020-07-14T16:26:51.513Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:51.513Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1783' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/nested2/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=test%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594744011410648\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CNqfx/v1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:10.235Z\",\n \"updated\": \"2020-09-02T16:46:10.235Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:10.235Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065170135826\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594744011410648&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065170135826&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744011410648\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065170135826\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n - \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CNiZu7KUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:51.410Z\",\n \"updated\": \"2020-07-14T16:26:51.410Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:51.410Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594744011539627\",\n + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CJKWwfv1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:10.135Z\",\n \"updated\": \"2020-09-02T16:46:10.135Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:10.135Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065170248506\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594744011539627&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065170248506&alt=media\",\n \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744011539627\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065170248506\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n - \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CKuJw7KUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:51.539Z\",\n \"updated\": \"2020-07-14T16:26:51.539Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:51.539Z\"\n }\n ]\n}\n" + \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CLqGyPv1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:10.248Z\",\n \"updated\": \"2020-09-02T16:46:10.248Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:10.248Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1779' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '7647' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=test/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -1108,36 +1200,47 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_GiZrg7LCbWI_AAJU24lizcU\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_8GNjXo7OooQ_AAFzDVBYaCw\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:26:53 GMT\r\n\r\n\r\n--batch_GiZrg7LCbWI_AAJU24lizcU\r\nContent-Type: + Wed, 02 Sep 2020 16:46:12 GMT\r\n\r\n\r\n--batch_8GNjXo7OooQ_AAFzDVBYaCw\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:53 GMT\r\n\r\n\r\n--batch_GiZrg7LCbWI_AAJU24lizcU\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:12 GMT\r\n\r\n\r\n--batch_8GNjXo7OooQ_AAFzDVBYaCw\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:53 GMT\r\n\r\n\r\n--batch_GiZrg7LCbWI_AAJU24lizcU\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:12 GMT\r\n\r\n\r\n--batch_8GNjXo7OooQ_AAFzDVBYaCw\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:53 GMT\r\n\r\n\r\n--batch_GiZrg7LCbWI_AAJU24lizcU\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:12 GMT\r\n\r\n\r\n--batch_8GNjXo7OooQ_AAFzDVBYaCw\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:53 GMT\r\n\r\n\r\n--batch_GiZrg7LCbWI_AAJU24lizcU\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:12 GMT\r\n\r\n\r\n--batch_8GNjXo7OooQ_AAFzDVBYaCw\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:53 GMT\r\n\r\n\r\n--batch_GiZrg7LCbWI_AAJU24lizcU\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:12 GMT\r\n\r\n\r\n--batch_8GNjXo7OooQ_AAFzDVBYaCw\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:53 GMT\r\n\r\n\r\n--batch_GiZrg7LCbWI_AAJU24lizcU\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:12 GMT\r\n\r\n\r\n--batch_8GNjXo7OooQ_AAFzDVBYaCw\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:53 GMT\r\n\r\n\r\n--batch_GiZrg7LCbWI_AAJU24lizcU\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:12 GMT\r\n\r\n\r\n--batch_8GNjXo7OooQ_AAFzDVBYaCw\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:53 GMT\r\n\r\n\r\n--batch_GiZrg7LCbWI_AAJU24lizcU--\r\n" + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:12 GMT\r\n\r\n\r\n--batch_8GNjXo7OooQ_AAFzDVBYaCw--\r\n" headers: - Cache-Control: private, max-age=0 - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_GiZrg7LCbWI_AAJU24lizcU - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - private, max-age=0 + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_8GNjXo7OooQ_AAFzDVBYaCw + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_readable.yaml b/gcsfs/tests/recordings/test_readable.yaml index e01509a0..f81f2afd 100644 --- a/gcsfs/tests/recordings/test_readable.yaml +++ b/gcsfs/tests/recordings/test_readable.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAAPdDV8C/4WPsQ7DIBBDfyVibmHP2B+JTnBJUIFD3CGoqvx7Qzt1ymTZsqzntwJrkXkRemJS - 86R67+o2KbaUcfhTknfTLpJ5Nqa1pjeiLSBkz9pSNFBlN+cM1SSsCw5/2a+MxaeVNEbw4bJuA1V3 - zwFkpRIH4Bd4kdeP8oFQsIzcu/8vxwdcFoAW4wAAAA== + H4sIAHjMT18C/4WPsQ7DIBBDfyVibmHP2B+JTnBJUIFD3CGoqvx7Qzt1ymTZsuTntwJrkXkRemJS + 86R67+o2KbaUcfhTknfTLpJ5Nqa1pjeiLSBkz9pSNFBlN5Wx+LSSxgg+XNbPVapJWBcc/rJvA1V3 + zwFkpRIH4Bd4kdeP8oFQsIzcu/8vxwfXyTDP4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:49.275Z\",\n \"updated\": \"2020-07-14T16:27:49.275Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: null @@ -152,10 +136,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUmidlBFMsjVm_6oMC4OUulZ5JBDiZL3K-tixRljrH2YBzF4cvh6HkpEnfdP2Oy77xAfP9jiTMKvSYJ8ugS2E7U + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Ux6l0B4xYj2CVxWB7Smux6YZCP_sY9k3zFzfJ1rv4-tpfdZ6TNjnhL3y5HCqZ-exQkxEU7neoCREDhsGvMTXlcIdd63_g Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -170,30 +154,38 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUmidlBFMsjVm_6oMC4OUulZ5JBDiZL3K-tixRljrH2YBzF4cvh6HkpEnfdP2Oy77xAfP9jiTMKvSYJ8ugS2E7U + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Ux6l0B4xYj2CVxWB7Smux6YZCP_sY9k3zFzfJ1rv4-tpfdZ6TNjnhL3y5HCqZ-exQkxEU7neoCREDhsGvMTXlcIdd63_g response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594744070071758\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065209639237\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744070071758&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065209639237&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744070071758\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065209639237\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n - \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CM7Lt86UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:50.071Z\",\n \"updated\": \"2020-07-14T16:27:50.071Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:50.071Z\"\n}\n" + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CMWirI72yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:49.639Z\",\n \"updated\": \"2020-09-02T16:46:49.639Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:49.639Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '750' - Content-Type: application/json; charset=UTF-8 - Etag: CM7Lt86UzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '746' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CMWirI72yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUmidlBFMsjVm_6oMC4OUulZ5JBDiZL3K-tixRljrH2YBzF4cvh6HkpEnfdP2Oy77xAfP9jiTMKvSYJ8ugS2E7U + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Ux6l0B4xYj2CVxWB7Smux6YZCP_sY9k3zFzfJ1rv4-tpfdZ6TNjnhL3y5HCqZ-exQkxEU7neoCREDhsGvMTXlcIdd63_g - request: body: null headers: {} @@ -201,22 +193,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594744070071758\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065209639237\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744070071758&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065209639237&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744070071758\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065209639237\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n - \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CM7Lt86UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:50.071Z\",\n \"updated\": \"2020-07-14T16:27:50.071Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:50.071Z\"\n}\n" + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CMWirI72yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:49.639Z\",\n \"updated\": \"2020-09-02T16:46:49.639Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:49.639Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '750' - Content-Type: application/json; charset=UTF-8 - Etag: CM7Lt86UzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '746' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CMWirI72yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -225,68 +224,36 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"tmp/\"\n - \ ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '64' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=tmp%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"tmp/test/\"\n - \ ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '69' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=tmp/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=tmp%2Ftest%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594744070071758\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065209639237\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744070071758&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065209639237&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744070071758\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599065209639237\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n \"crc32c\": - \"AAAAAA==\",\n \"etag\": \"CM7Lt86UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:50.071Z\",\n \"updated\": \"2020-07-14T16:27:50.071Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:50.071Z\"\n }\n ]\n}\n" + \"AAAAAA==\",\n \"etag\": \"CMWirI72yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:49.639Z\",\n \"updated\": \"2020-09-02T16:46:49.639Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:49.639Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '876' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '872' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=tmp/test/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -316,21 +283,33 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_5Sov9gJyuio_AAZAYkslMyg\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_3amuRqyxTxk_ABRZ6HLlYDA\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:27:51 GMT\r\n\r\n\r\n--batch_5Sov9gJyuio_AAZAYkslMyg--\r\n" + Wed, 02 Sep 2020 16:46:50 GMT\r\n\r\n\r\n--batch_3amuRqyxTxk_ABRZ6HLlYDA--\r\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_5Sov9gJyuio_AAZAYkslMyg - Pragma: no-cache - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_3amuRqyxTxk_ABRZ6HLlYDA + Pragma: + - no-cache + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_readline.yaml b/gcsfs/tests/recordings/test_readline.yaml index 49867b8d..50b56c68 100644 --- a/gcsfs/tests/recordings/test_readline.yaml +++ b/gcsfs/tests/recordings/test_readline.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAOjcDV8C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULnc10s6+NTiHzLPQE7Oe - lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmy2MdaQFzKYIER1hZ9z1LKwqTjyJe8iNX8vEWSh - mtQplYMfgl/hWV4/ywdCxTr64P+/HB9GPeS/4wAAAA== + H4sIAGfMT18C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP + Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTbbGGvICxlMEKK6ip9z1LKwqTi0Oldy8Jc1F6n5 + e4kgC9U0AL/As7x+lA+EinX4wf9/OT5qoa7S4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:22.183Z\",\n \"updated\": \"2020-07-14T16:27:22.183Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: '--==0== @@ -168,24 +152,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594744042508335\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065191997868\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594744042508335&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065191997868&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744042508335\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065191997868\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"CK+gpcGUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:27:22.508Z\",\n - \ \"updated\": \"2020-07-14T16:27:22.508Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:27:22.508Z\"\n}\n" + \ \"etag\": \"CKzD94X2yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:31.997Z\",\n + \ \"updated\": \"2020-09-02T16:46:31.997Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:31.997Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CK+gpcGUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CKzD94X2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -196,20 +188,20 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "test/accounts.2.json"} + {"name": "2014-01-01.csv"} --==0== Content-Type: application/octet-stream - {"amount": 500, "name": "Alice"} + name,amount,id - {"amount": 600, "name": "Bob"} + Alice,100,1 - {"amount": 700, "name": "Charlie"} + Bob,200,2 - {"amount": 800, "name": "Dennis"} + Charlie,300,3 --==0==--' @@ -220,24 +212,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594744042600002\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594744042600002&alt=media\",\n - \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744042600002\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n - \ \"etag\": \"CMLsqsGUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:27:22.599Z\",\n - \ \"updated\": \"2020-07-14T16:27:22.599Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:27:22.599Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065192067339\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065192067339&alt=media\",\n + \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065192067339\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CIvi+4X2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:32.067Z\",\n \"updated\": \"2020-09-02T16:46:32.067Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:32.067Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CMLsqsGUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CIvi+4X2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -248,14 +247,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/nested2/file1"} + {"name": "2014-01-02.csv"} --==0== Content-Type: application/octet-stream - hello + name,amount,id --==0==--' @@ -266,24 +265,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594744042599987\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594744042599987&alt=media\",\n - \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744042599987\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n \"crc32c\": \"NT3Yvg==\",\n - \ \"etag\": \"CLPsqsGUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:27:22.599Z\",\n - \ \"updated\": \"2020-07-14T16:27:22.599Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:27:22.599Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065192102750\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065192102750&alt=media\",\n + \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065192102750\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CN72/YX2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:32.102Z\",\n \"updated\": \"2020-09-02T16:46:32.102Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:32.102Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: CLPsqsGUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CN72/YX2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -294,20 +300,20 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-01.csv"} + {"name": "test/accounts.2.json"} --==0== Content-Type: application/octet-stream - name,amount,id + {"amount": 500, "name": "Alice"} - Alice,100,1 + {"amount": 600, "name": "Bob"} - Bob,200,2 + {"amount": 700, "name": "Charlie"} - Charlie,300,3 + {"amount": 800, "name": "Dennis"} --==0==--' @@ -318,23 +324,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1594744042692614\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594744042692614&alt=media\",\n - \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744042692614\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CIbAsMGUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:22.692Z\",\n \"updated\": \"2020-07-14T16:27:22.692Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:22.692Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065192107482\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065192107482&alt=media\",\n + \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065192107482\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n + \ \"etag\": \"CNqb/oX2yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:32.107Z\",\n + \ \"updated\": \"2020-09-02T16:46:32.107Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:32.107Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CIbAsMGUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CNqb/oX2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -345,14 +360,15 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/file2"} + {"name": "nested/nested2/file1"} --==0== Content-Type: application/octet-stream - world + hello + --==0==--' headers: @@ -362,23 +378,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594744042708915\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594744042708915&alt=media\",\n - \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744042708915\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CLO/scGUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:22.708Z\",\n \"updated\": \"2020-07-14T16:27:22.708Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:22.708Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065192337793\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065192337793&alt=media\",\n + \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065192337793\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n \"crc32c\": \"NT3Yvg==\",\n + \ \"etag\": \"CIGjjIb2yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:32.337Z\",\n + \ \"updated\": \"2020-09-02T16:46:32.337Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:32.337Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CLO/scGUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CIGjjIb2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -389,14 +414,20 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/file1"} + {"name": "2014-01-03.csv"} --==0== Content-Type: application/octet-stream - hello + name,amount,id + + Dennis,400,4 + + Edith,500,5 + + Frank,600,6 --==0==--' @@ -407,23 +438,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1594744042713775\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594744042713775&alt=media\",\n - \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744042713775\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CK/lscGUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:22.713Z\",\n \"updated\": \"2020-07-14T16:27:22.713Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:22.713Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065192605819\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065192605819&alt=media\",\n + \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065192605819\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CPvQnIb2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:32.605Z\",\n \"updated\": \"2020-09-02T16:46:32.605Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:32.605Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CK/lscGUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CPvQnIb2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -434,20 +473,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-03.csv"} + {"name": "nested/file1"} --==0== Content-Type: application/octet-stream - name,amount,id - - Dennis,400,4 - - Edith,500,5 - - Frank,600,6 + hello --==0==--' @@ -458,23 +491,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594744042721119\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594744042721119&alt=media\",\n - \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744042721119\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CN+essGUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:22.721Z\",\n \"updated\": \"2020-07-14T16:27:22.721Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:22.721Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065192968976\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065192968976&alt=media\",\n + \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065192968976\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CJDmsob2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:32.968Z\",\n \"updated\": \"2020-09-02T16:46:32.968Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:32.968Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CN+essGUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CJDmsob2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -485,15 +526,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-02.csv"} + {"name": "nested/file2"} --==0== Content-Type: application/octet-stream - name,amount,id - + world --==0==--' headers: @@ -503,23 +543,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594744042996381\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594744042996381&alt=media\",\n - \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744042996381\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CJ2Fw8GUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:22.996Z\",\n \"updated\": \"2020-07-14T16:27:22.996Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:22.996Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065193100341\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065193100341&alt=media\",\n + \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065193100341\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CLXouob2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:33.100Z\",\n \"updated\": \"2020-09-02T16:46:33.100Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:33.100Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CJ2Fw8GUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CLXouob2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -547,24 +595,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594744043620343\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065193430373\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594744043620343&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065193430373&alt=media\",\n \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744043620343\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065193430373\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n \"crc32c\": \"MaqBTg==\",\n - \ \"etag\": \"CPeP6cGUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:27:23.620Z\",\n - \ \"updated\": \"2020-07-14T16:27:23.620Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:27:23.620Z\"\n}\n" + \ \"etag\": \"COX6zob2yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:33.430Z\",\n + \ \"updated\": \"2020-09-02T16:46:33.430Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:33.430Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: CPeP6cGUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - COX6zob2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -576,23 +632,30 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594744042508335\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065191997868\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594744042508335&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065191997868&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744042508335\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065191997868\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"CK+gpcGUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:27:22.508Z\",\n - \ \"updated\": \"2020-07-14T16:27:22.508Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:27:22.508Z\"\n}\n" + \ \"etag\": \"CKzD94X2yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:31.997Z\",\n + \ \"updated\": \"2020-09-02T16:46:31.997Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:31.997Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CK+gpcGUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CKzD94X2yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -603,7 +666,7 @@ interactions: Range: - bytes=0-132 method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?alt=media&generation=1594744042508335 + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?alt=media&generation=1599065191997868 response: body: string: '{"amount": 100, "name": "Alice"} @@ -616,22 +679,35 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '133' - Content-Range: bytes 0-132/133 - Content-Type: application/octet-stream - Etag: CK+gpcGUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744042508335' - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '133' + Content-Range: + - bytes 0-132/133 + Content-Type: + - application/octet-stream + Etag: + - CKzD94X2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065191997868' + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 206 message: Partial Content - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594744042508335&alt=media + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065191997868&alt=media - request: body: null headers: {} @@ -639,23 +715,30 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594744042600002\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065192107482\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594744042600002&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065192107482&alt=media\",\n \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744042600002\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065192107482\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n - \ \"etag\": \"CMLsqsGUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:27:22.599Z\",\n - \ \"updated\": \"2020-07-14T16:27:22.599Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:27:22.599Z\"\n}\n" + \ \"etag\": \"CNqb/oX2yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:32.107Z\",\n + \ \"updated\": \"2020-09-02T16:46:32.107Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:32.107Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CMLsqsGUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CNqb/oX2yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -666,7 +749,7 @@ interactions: Range: - bytes=0-132 method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?alt=media&generation=1594744042600002 + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?alt=media&generation=1599065192107482 response: body: string: '{"amount": 500, "name": "Alice"} @@ -679,22 +762,35 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '133' - Content-Range: bytes 0-132/133 - Content-Type: application/octet-stream - Etag: CMLsqsGUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744042600002' - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '133' + Content-Range: + - bytes 0-132/133 + Content-Type: + - application/octet-stream + Etag: + - CNqb/oX2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065192107482' + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 206 message: Partial Content - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594744042600002&alt=media + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065192107482&alt=media - request: body: null headers: {} @@ -702,22 +798,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1594744042692614\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065192067339\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594744042692614&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065192067339&alt=media\",\n \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744042692614\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065192067339\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CIbAsMGUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:22.692Z\",\n \"updated\": \"2020-07-14T16:27:22.692Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:22.692Z\"\n}\n" + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CIvi+4X2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:32.067Z\",\n \"updated\": \"2020-09-02T16:46:32.067Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:32.067Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CIbAsMGUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CIvi+4X2yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -728,7 +831,7 @@ interactions: Range: - bytes=0-50 method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?alt=media&generation=1594744042692614 + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?alt=media&generation=1599065192067339 response: body: string: 'name,amount,id @@ -741,22 +844,35 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '51' - Content-Range: bytes 0-50/51 - Content-Type: application/octet-stream - Etag: CIbAsMGUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744042692614' - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '51' + Content-Range: + - bytes 0-50/51 + Content-Type: + - application/octet-stream + Etag: + - CIvi+4X2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065192067339' + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 206 message: Partial Content - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594744042692614&alt=media + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065192067339&alt=media - request: body: null headers: {} @@ -764,22 +880,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594744042996381\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065192102750\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594744042996381&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065192102750&alt=media\",\n \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744042996381\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065192102750\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CJ2Fw8GUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:22.996Z\",\n \"updated\": \"2020-07-14T16:27:22.996Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:22.996Z\"\n}\n" + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CN72/YX2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:32.102Z\",\n \"updated\": \"2020-09-02T16:46:32.102Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:32.102Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CJ2Fw8GUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CN72/YX2yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -790,29 +913,42 @@ interactions: Range: - bytes=0-14 method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?alt=media&generation=1594744042996381 + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?alt=media&generation=1599065192102750 response: body: string: 'name,amount,id ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '15' - Content-Range: bytes 0-14/15 - Content-Type: application/octet-stream - Etag: CJ2Fw8GUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744042996381' - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '15' + Content-Range: + - bytes 0-14/15 + Content-Type: + - application/octet-stream + Etag: + - CN72/YX2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065192102750' + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 206 message: Partial Content - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594744042996381&alt=media + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065192102750&alt=media - request: body: null headers: {} @@ -820,22 +956,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594744042721119\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065192605819\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594744042721119&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065192605819&alt=media\",\n \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744042721119\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065192605819\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CN+essGUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:22.721Z\",\n \"updated\": \"2020-07-14T16:27:22.721Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:22.721Z\"\n}\n" + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CPvQnIb2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:32.605Z\",\n \"updated\": \"2020-09-02T16:46:32.605Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:32.605Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CN+essGUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CPvQnIb2yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -846,7 +989,7 @@ interactions: Range: - bytes=0-51 method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?alt=media&generation=1594744042721119 + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?alt=media&generation=1599065192605819 response: body: string: 'name,amount,id @@ -859,22 +1002,35 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '52' - Content-Range: bytes 0-51/52 - Content-Type: application/octet-stream - Etag: CN+essGUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744042721119' - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '52' + Content-Range: + - bytes 0-51/52 + Content-Type: + - application/octet-stream + Etag: + - CPvQnIb2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065192605819' + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 206 message: Partial Content - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594744042721119&alt=media + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065192605819&alt=media - request: body: null headers: {} @@ -882,22 +1038,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1 response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1594744042713775\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065192968976\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594744042713775&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065192968976&alt=media\",\n \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744042713775\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065192968976\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CK/lscGUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:22.713Z\",\n \"updated\": \"2020-07-14T16:27:22.713Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:22.713Z\"\n}\n" + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CJDmsob2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:32.968Z\",\n \"updated\": \"2020-09-02T16:46:32.968Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:32.968Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CK/lscGUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CJDmsob2yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -908,29 +1071,42 @@ interactions: Range: - bytes=0-5 method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?alt=media&generation=1594744042713775 + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?alt=media&generation=1599065192968976 response: body: string: 'hello ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '6' - Content-Range: bytes 0-5/6 - Content-Type: application/octet-stream - Etag: CK/lscGUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744042713775' - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '6' + Content-Range: + - bytes 0-5/6 + Content-Type: + - application/octet-stream + Etag: + - CJDmsob2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065192968976' + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 206 message: Partial Content - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594744042713775&alt=media + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065192968976&alt=media - request: body: null headers: {} @@ -938,22 +1114,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2 response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594744042708915\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065193100341\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594744042708915&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065193100341&alt=media\",\n \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744042708915\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065193100341\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CLO/scGUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:22.708Z\",\n \"updated\": \"2020-07-14T16:27:22.708Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:22.708Z\"\n}\n" + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CLXouob2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:33.100Z\",\n \"updated\": \"2020-09-02T16:46:33.100Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:33.100Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CLO/scGUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CLXouob2yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -964,27 +1147,40 @@ interactions: Range: - bytes=0-4 method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?alt=media&generation=1594744042708915 + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?alt=media&generation=1599065193100341 response: body: string: world headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '5' - Content-Range: bytes 0-4/5 - Content-Type: application/octet-stream - Etag: CLO/scGUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744042708915' - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '5' + Content-Range: + - bytes 0-4/5 + Content-Type: + - application/octet-stream + Etag: + - CLXouob2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065193100341' + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 206 message: Partial Content - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594744042708915&alt=media + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065193100341&alt=media - request: body: null headers: {} @@ -992,23 +1188,30 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1 response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594744042599987\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065192337793\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594744042599987&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065192337793&alt=media\",\n \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744042599987\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065192337793\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n \"crc32c\": \"NT3Yvg==\",\n - \ \"etag\": \"CLPsqsGUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:27:22.599Z\",\n - \ \"updated\": \"2020-07-14T16:27:22.599Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:27:22.599Z\"\n}\n" + \ \"etag\": \"CIGjjIb2yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:32.337Z\",\n + \ \"updated\": \"2020-09-02T16:46:32.337Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:32.337Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: CLPsqsGUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CIGjjIb2yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -1019,29 +1222,42 @@ interactions: Range: - bytes=0-5 method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?alt=media&generation=1594744042599987 + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?alt=media&generation=1599065192337793 response: body: string: 'hello ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '6' - Content-Range: bytes 0-5/6 - Content-Type: application/octet-stream - Etag: CLPsqsGUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744042599987' - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '6' + Content-Range: + - bytes 0-5/6 + Content-Type: + - application/octet-stream + Etag: + - CIGjjIb2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065192337793' + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 206 message: Partial Content - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594744042599987&alt=media + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065192337793&alt=media - request: body: null headers: {} @@ -1049,23 +1265,30 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2 response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594744043620343\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065193430373\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594744043620343&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065193430373&alt=media\",\n \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744043620343\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065193430373\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n \"crc32c\": \"MaqBTg==\",\n - \ \"etag\": \"CPeP6cGUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:27:23.620Z\",\n - \ \"updated\": \"2020-07-14T16:27:23.620Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:27:23.620Z\"\n}\n" + \ \"etag\": \"COX6zob2yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:33.430Z\",\n + \ \"updated\": \"2020-09-02T16:46:33.430Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:33.430Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: CPeP6cGUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - COX6zob2yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -1076,190 +1299,154 @@ interactions: Range: - bytes=0-4 method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?alt=media&generation=1594744043620343 + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?alt=media&generation=1599065193430373 response: body: string: world headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '5' - Content-Range: bytes 0-4/5 - Content-Type: application/octet-stream - Etag: CPeP6cGUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744043620343' - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '5' + Content-Range: + - bytes 0-4/5 + Content-Type: + - application/octet-stream + Etag: + - COX6zob2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065193430373' + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 206 message: Partial Content - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594744043620343&alt=media + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065193430373&alt=media - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/\",\n - \ \"test/\"\n ],\n \"items\": [\n {\n \"kind\": \"storage#object\",\n - \ \"id\": \"gcsfs-testing/2014-01-01.csv/1594744042692614\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594744042692614&alt=media\",\n + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065192067339\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065192067339&alt=media\",\n \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744042692614\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065192067339\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CIbAsMGUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:22.692Z\",\n \"updated\": \"2020-07-14T16:27:22.692Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:22.692Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594744042996381\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CIvi+4X2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:32.067Z\",\n \"updated\": \"2020-09-02T16:46:32.067Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:32.067Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065192102750\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594744042996381&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065192102750&alt=media\",\n \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744042996381\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065192102750\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CJ2Fw8GUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:22.996Z\",\n \"updated\": \"2020-07-14T16:27:22.996Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:22.996Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594744042721119\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CN72/YX2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:32.102Z\",\n \"updated\": \"2020-09-02T16:46:32.102Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:32.102Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065192605819\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594744042721119&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065192605819&alt=media\",\n \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744042721119\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065192605819\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CN+essGUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:22.721Z\",\n \"updated\": \"2020-07-14T16:27:22.721Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:22.721Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '2605' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/nested2/\"\n - \ ],\n \"items\": [\n {\n \"kind\": \"storage#object\",\n \"id\": - \"gcsfs-testing/nested/file1/1594744042713775\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594744042713775&alt=media\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CPvQnIb2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:32.605Z\",\n \"updated\": \"2020-09-02T16:46:32.605Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:32.605Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065192968976\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065192968976&alt=media\",\n \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744042713775\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065192968976\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CK/lscGUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:22.713Z\",\n \"updated\": \"2020-07-14T16:27:22.713Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:22.713Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594744042708915\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CJDmsob2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:32.968Z\",\n \"updated\": \"2020-09-02T16:46:32.968Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:32.968Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065193100341\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594744042708915&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065193100341&alt=media\",\n \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744042708915\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065193100341\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CLO/scGUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:22.708Z\",\n \"updated\": \"2020-07-14T16:27:22.708Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:22.708Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1754' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2Fnested2%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594744042599987\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CLXouob2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:33.100Z\",\n \"updated\": \"2020-09-02T16:46:33.100Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:33.100Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065192337793\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594744042599987&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065192337793&alt=media\",\n \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744042599987\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065192337793\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CLPsqsGUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:22.599Z\",\n \"updated\": \"2020-07-14T16:27:22.599Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:22.599Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594744043620343\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CIGjjIb2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:32.337Z\",\n \"updated\": \"2020-09-02T16:46:32.337Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:32.337Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065193430373\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594744043620343&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065193430373&alt=media\",\n \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744043620343\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065193430373\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CPeP6cGUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:23.620Z\",\n \"updated\": \"2020-07-14T16:27:23.620Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:23.620Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1783' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/nested2/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=test%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594744042508335\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"COX6zob2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:33.430Z\",\n \"updated\": \"2020-09-02T16:46:33.430Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:33.430Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065191997868\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594744042508335&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065191997868&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744042508335\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065191997868\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n - \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CK+gpcGUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:22.508Z\",\n \"updated\": \"2020-07-14T16:27:22.508Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:22.508Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594744042600002\",\n + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CKzD94X2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:31.997Z\",\n \"updated\": \"2020-09-02T16:46:31.997Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:31.997Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065192107482\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594744042600002&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065192107482&alt=media\",\n \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744042600002\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065192107482\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n - \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CMLsqsGUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:22.599Z\",\n \"updated\": \"2020-07-14T16:27:22.599Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:22.599Z\"\n }\n ]\n}\n" + \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CNqb/oX2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:32.107Z\",\n \"updated\": \"2020-09-02T16:46:32.107Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:32.107Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1779' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '7647' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=test/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -1433,36 +1620,47 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_U_yVjDDB_ZY_AAb0GNIVvGI\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_ma2FGaV_Dts_AAGQfoEnvPk\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:27:26 GMT\r\n\r\n\r\n--batch_U_yVjDDB_ZY_AAb0GNIVvGI\r\nContent-Type: + Wed, 02 Sep 2020 16:46:35 GMT\r\n\r\n\r\n--batch_ma2FGaV_Dts_AAGQfoEnvPk\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:27:26 GMT\r\n\r\n\r\n--batch_U_yVjDDB_ZY_AAb0GNIVvGI\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:35 GMT\r\n\r\n\r\n--batch_ma2FGaV_Dts_AAGQfoEnvPk\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:27:26 GMT\r\n\r\n\r\n--batch_U_yVjDDB_ZY_AAb0GNIVvGI\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:35 GMT\r\n\r\n\r\n--batch_ma2FGaV_Dts_AAGQfoEnvPk\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:27:26 GMT\r\n\r\n\r\n--batch_U_yVjDDB_ZY_AAb0GNIVvGI\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:35 GMT\r\n\r\n\r\n--batch_ma2FGaV_Dts_AAGQfoEnvPk\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:27:26 GMT\r\n\r\n\r\n--batch_U_yVjDDB_ZY_AAb0GNIVvGI\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:35 GMT\r\n\r\n\r\n--batch_ma2FGaV_Dts_AAGQfoEnvPk\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:27:26 GMT\r\n\r\n\r\n--batch_U_yVjDDB_ZY_AAb0GNIVvGI\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:35 GMT\r\n\r\n\r\n--batch_ma2FGaV_Dts_AAGQfoEnvPk\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:27:26 GMT\r\n\r\n\r\n--batch_U_yVjDDB_ZY_AAb0GNIVvGI\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:35 GMT\r\n\r\n\r\n--batch_ma2FGaV_Dts_AAGQfoEnvPk\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:27:26 GMT\r\n\r\n\r\n--batch_U_yVjDDB_ZY_AAb0GNIVvGI\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:35 GMT\r\n\r\n\r\n--batch_ma2FGaV_Dts_AAGQfoEnvPk\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:27:26 GMT\r\n\r\n\r\n--batch_U_yVjDDB_ZY_AAb0GNIVvGI--\r\n" + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:35 GMT\r\n\r\n\r\n--batch_ma2FGaV_Dts_AAGQfoEnvPk--\r\n" headers: - Cache-Control: private, max-age=0 - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_U_yVjDDB_ZY_AAb0GNIVvGI - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - private, max-age=0 + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_ma2FGaV_Dts_AAGQfoEnvPk + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_readline_blocksize.yaml b/gcsfs/tests/recordings/test_readline_blocksize.yaml index 59720ef2..c82bdf96 100644 --- a/gcsfs/tests/recordings/test_readline_blocksize.yaml +++ b/gcsfs/tests/recordings/test_readline_blocksize.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAPbcDV8C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP - Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTbbGGvICxlMEKK6irtIzd9LBFmoJnWO5OAvWyck - tSxsKg49AL/As7x+lA+EinX4wf9/OT4eaDG04wAAAA== + H4sIAHDMT18C/4XPsQ7DIAwE0F9BzC3sGfsjkQVOggoYYSNSVfn3hnbqlPFON7x7a3AOmWehJ2Y9 + Kb3vu74pzY4KjryJFJ6s7b2blWiNCCWwcZQsNNlsY6whL2QwQYjqau4iNX8vEWShmi7np45aFjYV + R1YnKgc/gF/wLK+f8oFQsY4++P8vxwcIgekt4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:35.993Z\",\n \"updated\": \"2020-07-14T16:27:35.993Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: null @@ -152,10 +136,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUksk9yoDKe7-QT7ZOIyVGx3id_cbXUp1lXjV8TdiujzLEghrbqMHPGD_waQVESsfWLn5MNwb4tAW8OhGU5vKrw + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uxuz8EPSHgPBVLSTkxOyfkR2tbHxLKNpj-8acwhngzEcLkJVBKUOufSBAk89QXX02X_zy4dfeeArRdNJmJZr9ixqU71Zg Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -174,30 +158,38 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUksk9yoDKe7-QT7ZOIyVGx3id_cbXUp1lXjV8TdiujzLEghrbqMHPGD_waQVESsfWLn5MNwb4tAW8OhGU5vKrw + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uxuz8EPSHgPBVLSTkxOyfkR2tbHxLKNpj-8acwhngzEcLkJVBKUOufSBAk89QXX02X_zy4dfeeArRdNJmJZr9ixqU71Zg response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594744056974500\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065201952750\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744056974500&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065201952750&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744056974500\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065201952750\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"262150\",\n \"md5Hash\": - \"tVDra9BRb8qYTBizo1l48w==\",\n \"crc32c\": \"f2XL/A==\",\n \"etag\": \"CKSZmMiUzeoCEAE=\",\n - \ \"timeCreated\": \"2020-07-14T16:27:36.974Z\",\n \"updated\": \"2020-07-14T16:27:36.974Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:36.974Z\"\n}\n" + \"tVDra9BRb8qYTBizo1l48w==\",\n \"crc32c\": \"f2XL/A==\",\n \"etag\": \"CO6P14r2yusCEAE=\",\n + \ \"timeCreated\": \"2020-09-02T16:46:41.952Z\",\n \"updated\": \"2020-09-02T16:46:41.952Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:41.952Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '755' - Content-Type: application/json; charset=UTF-8 - Etag: CKSZmMiUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '751' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CO6P14r2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUksk9yoDKe7-QT7ZOIyVGx3id_cbXUp1lXjV8TdiujzLEghrbqMHPGD_waQVESsfWLn5MNwb4tAW8OhGU5vKrw + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uxuz8EPSHgPBVLSTkxOyfkR2tbHxLKNpj-8acwhngzEcLkJVBKUOufSBAk89QXX02X_zy4dfeeArRdNJmJZr9ixqU71Zg - request: body: null headers: {} @@ -205,22 +197,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594744056974500\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065201952750\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744056974500&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065201952750&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744056974500\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065201952750\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"262150\",\n \"md5Hash\": - \"tVDra9BRb8qYTBizo1l48w==\",\n \"crc32c\": \"f2XL/A==\",\n \"etag\": \"CKSZmMiUzeoCEAE=\",\n - \ \"timeCreated\": \"2020-07-14T16:27:36.974Z\",\n \"updated\": \"2020-07-14T16:27:36.974Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:36.974Z\"\n}\n" + \"tVDra9BRb8qYTBizo1l48w==\",\n \"crc32c\": \"f2XL/A==\",\n \"etag\": \"CO6P14r2yusCEAE=\",\n + \ \"timeCreated\": \"2020-09-02T16:46:41.952Z\",\n \"updated\": \"2020-09-02T16:46:41.952Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:41.952Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '755' - Content-Type: application/json; charset=UTF-8 - Etag: CKSZmMiUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '751' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CO6P14r2yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -231,7 +230,7 @@ interactions: Range: - bytes=0-262149 method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?alt=media&generation=1594744056974500 + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?alt=media&generation=1599065201952750 response: body: string: 'ab @@ -240,88 +239,69 @@ interactions: ab' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '262150' - Content-Range: bytes 0-262149/262150 - Content-Type: application/octet-stream - Etag: CKSZmMiUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744056974500' - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '262150' + Content-Range: + - bytes 0-262149/262150 + Content-Type: + - application/octet-stream + Etag: + - CO6P14r2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065201952750' + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 206 message: Partial Content - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744056974500&alt=media -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"tmp/\"\n - \ ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '64' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=tmp%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"tmp/test/\"\n - \ ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '69' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=tmp/ + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065201952750&alt=media - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=tmp%2Ftest%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594744056974500\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065201952750\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744056974500&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065201952750&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744056974500\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599065201952750\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"262150\",\n \"md5Hash\": \"tVDra9BRb8qYTBizo1l48w==\",\n \"crc32c\": - \"f2XL/A==\",\n \"etag\": \"CKSZmMiUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:36.974Z\",\n \"updated\": \"2020-07-14T16:27:36.974Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:36.974Z\"\n }\n ]\n}\n" + \"f2XL/A==\",\n \"etag\": \"CO6P14r2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:41.952Z\",\n \"updated\": \"2020-09-02T16:46:41.952Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:41.952Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '881' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '877' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=tmp/test/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -351,21 +331,33 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_nfnrU0SKB_8_AAFM-_5L9ys\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_hgba0kE5i-0_AAF5EHFonrk\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:27:38 GMT\r\n\r\n\r\n--batch_nfnrU0SKB_8_AAFM-_5L9ys--\r\n" + Wed, 02 Sep 2020 16:46:42 GMT\r\n\r\n\r\n--batch_hgba0kE5i-0_AAF5EHFonrk--\r\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_nfnrU0SKB_8_AAFM-_5L9ys - Pragma: no-cache - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_hgba0kE5i-0_AAF5EHFonrk + Pragma: + - no-cache + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_readline_empty.yaml b/gcsfs/tests/recordings/test_readline_empty.yaml index 44659c6a..df7716dd 100644 --- a/gcsfs/tests/recordings/test_readline_empty.yaml +++ b/gcsfs/tests/recordings/test_readline_empty.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAPLcDV8C/4XPsQ7DIAwE0F9BzC3sGfsjkQVOggoYYSNSVfn3hnbqlPFON7x7a3AOmWehJ2Y9 - Kb3vu74pzY4KjryJFJ6s7b2blWiNCCWwcZQsNNmsi9T8vUSQhWpSV/PGWENeyGCCEC/np45aFjYV - R1YnKgc/gF/wLK+f8oFQsY4++P8vxwdVrNCv4wAAAA== + H4sIAG7MT18C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP + Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTZ79qllYVNxaHWVd5Gav5cIslBN6lzJwV+2GmMN + eSGDCUIcgF/gWV4/ygdCxTr84P+/HB8gnzds4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:32.290Z\",\n \"updated\": \"2020-07-14T16:27:32.290Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: null @@ -152,10 +136,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUm5IW0wHkmNb1MLMTd1SVaEXZEWqNFs0tALsbO3pNw3KmBD1-IW7kSSyzA_8x_RJdiezO9fm8Yc5Z6tUWs-6do + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uzf8-CJs3FOeja5a3ACGlGztThZBg-IECM1HtamBzX5e2OCem694P-tlyk2HmXbIpO9zKwRio_L-nFO5cS--D8BQ0KjMw Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -170,30 +154,38 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUm5IW0wHkmNb1MLMTd1SVaEXZEWqNFs0tALsbO3pNw3KmBD1-IW7kSSyzA_8x_RJdiezO9fm8Yc5Z6tUWs-6do + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uzf8-CJs3FOeja5a3ACGlGztThZBg-IECM1HtamBzX5e2OCem694P-tlyk2HmXbIpO9zKwRio_L-nFO5cS--D8BQ0KjMw response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594744053171691\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065199425477\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744053171691&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065199425477&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744053171691\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065199425477\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n - \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"COuLsMaUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:33.171Z\",\n \"updated\": \"2020-07-14T16:27:33.171Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:33.171Z\"\n}\n" + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CMXvvIn2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:39.425Z\",\n \"updated\": \"2020-09-02T16:46:39.425Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:39.425Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '750' - Content-Type: application/json; charset=UTF-8 - Etag: COuLsMaUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '746' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CMXvvIn2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUm5IW0wHkmNb1MLMTd1SVaEXZEWqNFs0tALsbO3pNw3KmBD1-IW7kSSyzA_8x_RJdiezO9fm8Yc5Z6tUWs-6do + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uzf8-CJs3FOeja5a3ACGlGztThZBg-IECM1HtamBzX5e2OCem694P-tlyk2HmXbIpO9zKwRio_L-nFO5cS--D8BQ0KjMw - request: body: null headers: {} @@ -201,22 +193,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594744053171691\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065199425477\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744053171691&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065199425477&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744053171691\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065199425477\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n - \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"COuLsMaUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:33.171Z\",\n \"updated\": \"2020-07-14T16:27:33.171Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:33.171Z\"\n}\n" + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CMXvvIn2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:39.425Z\",\n \"updated\": \"2020-09-02T16:46:39.425Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:39.425Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '750' - Content-Type: application/json; charset=UTF-8 - Etag: COuLsMaUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '746' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CMXvvIn2yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -225,68 +224,36 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"tmp/\"\n - \ ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '64' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=tmp%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"tmp/test/\"\n - \ ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '69' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=tmp/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=tmp%2Ftest%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594744053171691\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065199425477\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744053171691&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065199425477&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744053171691\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599065199425477\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n \"crc32c\": - \"AAAAAA==\",\n \"etag\": \"COuLsMaUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:33.171Z\",\n \"updated\": \"2020-07-14T16:27:33.171Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:33.171Z\"\n }\n ]\n}\n" + \"AAAAAA==\",\n \"etag\": \"CMXvvIn2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:39.425Z\",\n \"updated\": \"2020-09-02T16:46:39.425Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:39.425Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '876' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '872' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=tmp/test/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -316,21 +283,33 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_tYdOvPj1zZ0_AAFFZX0WjAM\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_StIdQt-xf3A_AAH-geZVIJw\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:27:34 GMT\r\n\r\n\r\n--batch_tYdOvPj1zZ0_AAFFZX0WjAM--\r\n" + Wed, 02 Sep 2020 16:46:40 GMT\r\n\r\n\r\n--batch_StIdQt-xf3A_AAH-geZVIJw--\r\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_tYdOvPj1zZ0_AAFFZX0WjAM - Pragma: no-cache - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_StIdQt-xf3A_AAH-geZVIJw + Pragma: + - no-cache + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_readline_from_cache.yaml b/gcsfs/tests/recordings/test_readline_from_cache.yaml index 8dd8acc6..6ee9afa0 100644 --- a/gcsfs/tests/recordings/test_readline_from_cache.yaml +++ b/gcsfs/tests/recordings/test_readline_from_cache.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAO7cDV8C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP - Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTbbGGvICxlMEKI6Wzl4ddU6V6llYVNx6Mu8i9T8 - vUSQhWoagF/gWV4/ygdCxTr84P+/HB+YzFqe4wAAAA== + H4sIAGvMT18C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP + Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTZ79qllYVNxaHWVb4w15IUMJghRnSs5+MuWi9T8 + vUSQhWoagF/gWV4/ygdCxTr84P+/HB+fT0zw4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:28.397Z\",\n \"updated\": \"2020-07-14T16:27:28.397Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: null @@ -152,10 +136,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUl3I05hQ-Nh8a1qVSxI8sgjgtUoBYEopqKCJBc1mTwacf1y-APwmGQWDDogChXr_BlA3vOvaQzOfKU2aoWDgWA + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxjRNKp9X7_9bKeUX4ChMKc8py_wCOgqyYluqXEj09TbYkoE0_s_4eSjtsRvmZlXv7ZRvyzaJb5Mcn6H9wuq8xLY0CYoA Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -174,30 +158,38 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUl3I05hQ-Nh8a1qVSxI8sgjgtUoBYEopqKCJBc1mTwacf1y-APwmGQWDDogChXr_BlA3vOvaQzOfKU2aoWDgWA + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxjRNKp9X7_9bKeUX4ChMKc8py_wCOgqyYluqXEj09TbYkoE0_s_4eSjtsRvmZlXv7ZRvyzaJb5Mcn6H9wuq8xLY0CYoA response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594744049174260\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065197076862\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744049174260&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065197076862&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744049174260\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065197076862\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"13\",\n \"md5Hash\": \"haMTXX21LuO+jssGPHetPQ==\",\n - \ \"crc32c\": \"p7IzLw==\",\n \"etag\": \"CPSNvMSUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:29.174Z\",\n \"updated\": \"2020-07-14T16:27:29.174Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:29.174Z\"\n}\n" + \ \"crc32c\": \"p7IzLw==\",\n \"etag\": \"CP7CrYj2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:37.076Z\",\n \"updated\": \"2020-09-02T16:46:37.076Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:37.076Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '751' - Content-Type: application/json; charset=UTF-8 - Etag: CPSNvMSUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '747' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CP7CrYj2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUl3I05hQ-Nh8a1qVSxI8sgjgtUoBYEopqKCJBc1mTwacf1y-APwmGQWDDogChXr_BlA3vOvaQzOfKU2aoWDgWA + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxjRNKp9X7_9bKeUX4ChMKc8py_wCOgqyYluqXEj09TbYkoE0_s_4eSjtsRvmZlXv7ZRvyzaJb5Mcn6H9wuq8xLY0CYoA - request: body: null headers: {} @@ -205,22 +197,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594744049174260\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065197076862\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744049174260&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065197076862&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744049174260\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065197076862\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"13\",\n \"md5Hash\": \"haMTXX21LuO+jssGPHetPQ==\",\n - \ \"crc32c\": \"p7IzLw==\",\n \"etag\": \"CPSNvMSUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:29.174Z\",\n \"updated\": \"2020-07-14T16:27:29.174Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:29.174Z\"\n}\n" + \ \"crc32c\": \"p7IzLw==\",\n \"etag\": \"CP7CrYj2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:37.076Z\",\n \"updated\": \"2020-09-02T16:46:37.076Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:37.076Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '751' - Content-Type: application/json; charset=UTF-8 - Etag: CPSNvMSUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '747' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CP7CrYj2yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -231,7 +230,7 @@ interactions: Range: - bytes=0-12 method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?alt=media&generation=1594744049174260 + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?alt=media&generation=1599065197076862 response: body: string: 'a,b @@ -240,88 +239,69 @@ interactions: 3,4' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '13' - Content-Range: bytes 0-12/13 - Content-Type: application/octet-stream - Etag: CPSNvMSUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744049174260' - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '13' + Content-Range: + - bytes 0-12/13 + Content-Type: + - application/octet-stream + Etag: + - CP7CrYj2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065197076862' + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 206 message: Partial Content - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744049174260&alt=media -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"tmp/\"\n - \ ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '64' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=tmp%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"tmp/test/\"\n - \ ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '69' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=tmp/ + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065197076862&alt=media - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=tmp%2Ftest%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594744049174260\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065197076862\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744049174260&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065197076862&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744049174260\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599065197076862\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"13\",\n \"md5Hash\": \"haMTXX21LuO+jssGPHetPQ==\",\n \"crc32c\": - \"p7IzLw==\",\n \"etag\": \"CPSNvMSUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:29.174Z\",\n \"updated\": \"2020-07-14T16:27:29.174Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:29.174Z\"\n }\n ]\n}\n" + \"p7IzLw==\",\n \"etag\": \"CP7CrYj2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:37.076Z\",\n \"updated\": \"2020-09-02T16:46:37.076Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:37.076Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '877' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '873' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=tmp/test/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -351,21 +331,33 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_iCAKlzBxQcs_AAZYkKhP1NA\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_e00fnnnu_hU_AAC1s7oKZGU\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:27:30 GMT\r\n\r\n\r\n--batch_iCAKlzBxQcs_AAZYkKhP1NA--\r\n" + Wed, 02 Sep 2020 16:46:37 GMT\r\n\r\n\r\n--batch_e00fnnnu_hU_AAC1s7oKZGU--\r\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_iCAKlzBxQcs_AAZYkKhP1NA - Pragma: no-cache - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_e00fnnnu_hU_AAC1s7oKZGU + Pragma: + - no-cache + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_request_header.yaml b/gcsfs/tests/recordings/test_request_header.yaml index 840a73b7..858ef05d 100644 --- a/gcsfs/tests/recordings/test_request_header.yaml +++ b/gcsfs/tests/recordings/test_request_header.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIACndDV8C/4XPsQ7DIAwE0F9BzC3sGfsjkQVOggoYYSNSVfn3hnbqlPFON7x7a3AOmWehJ2Y9 - Kb3vu74pzY4KjryJFJ6s7b2blWiNCCWwcZQsNNmsi9T8vUSQhWpSV/PGWENeyGCCEC/np45aFjYV - R1YnKgc/gF/wLK+f8oFQsY4++P8vxwdVrNCv4wAAAA== + H4sIAJHMT18C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULne1I82+NTiHzLPQE7Oe + lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmz25KllYVNxZHViOXh1hblIzd9LBFmopst5Y6wh + L2QwQYhD8Cs8y+tn+UCoWEcf/P+X4wMEC22h4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:28:27.467Z\",\n \"updated\": \"2020-07-14T16:28:27.467Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: grant_type=refresh_token&client_id=xxx&client_secret=xxx&refresh_token=xxx @@ -156,9 +140,9 @@ interactions: response: body: string: !!binary | - H4sIACvdDV8C/4WPsQ7DIBBDfyVibmHP2B+JTnBJUIFD3CGoqvx7Qzt1ymTZsqzntwJrkXkRemJS - 86R67+o2KbaUcfhTknfTLpJ5Nqa1pjeiLSBkz9pSNFBlN+cM1SSsCw5/2a+MxaeVNEbw4bJuA1V3 - zwFkpRIH4Bd4kdeP8oFQsIzcu/8vxwdcFoAW4wAAAA== + H4sIAJLMT18C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULnc10s6+NTiHzLPQE7Oe + lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmy2MdaQFzKYIER1hZ9z1LKwqTjyJe8iNX8vEWSh + mtQplYMfgl/hWV4/ywdCxTr64P+/HB9GPeS/4wAAAA== headers: Cache-Control: - private @@ -192,11 +176,17 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -205,36 +195,24 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ version: 1 diff --git a/gcsfs/tests/recordings/test_request_user_project.yaml b/gcsfs/tests/recordings/test_request_user_project.yaml index fe725b76..0cea474c 100644 --- a/gcsfs/tests/recordings/test_request_user_project.yaml +++ b/gcsfs/tests/recordings/test_request_user_project.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIACXdDV8C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP - Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTbrIjV/LxFkoZrU2crBq6vWuUotC5uKQ1/mG2MN - eSGDCUIcgF/gWV4/ygdCxTr84P+/HB99IHep4wAAAA== + H4sIAI7MT18C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULne1I82+NTiHzLPQE7Oe + lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmy2MdaQFzKYIER1Ujl4dUW5SM3fSwRZqKbL+SlJ + LQubiiMPwa/wLK+f5QOhYh198P9fjg9b1v+I4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:28:22.497Z\",\n \"updated\": \"2020-07-14T16:28:22.497Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: grant_type=refresh_token&client_id=xxx&client_secret=xxx&refresh_token=xxx @@ -156,9 +140,9 @@ interactions: response: body: string: !!binary | - H4sIACbdDV8C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP - Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTZ79qllYVNxaHWVb4w15IUMJghRnSs5+MuWi9T8 - vUSQhWoagF/gWV4/ygdCxTr84P+/HB+fT0zw4wAAAA== + H4sIAI/MT18C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP + Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTbbGGvICxlMEKK6irtIzd9LBFmoJnWO5OAvWyck + tSxsKg49AL/As7x+lA+EinX4wf9/OT4eaDG04wAAAA== headers: Cache-Control: - private @@ -192,11 +176,17 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -205,36 +195,24 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ version: 1 diff --git a/gcsfs/tests/recordings/test_request_user_project_string.yaml b/gcsfs/tests/recordings/test_request_user_project_string.yaml index e94ef016..b4a37942 100644 --- a/gcsfs/tests/recordings/test_request_user_project_string.yaml +++ b/gcsfs/tests/recordings/test_request_user_project_string.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIACfdDV8C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULne1I82+NTiHzLPQE7Oe - lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmz25KllYVNxZHViOXh1hblIzd9LBFmopst5Y6wh - L2QwQYhD8Cs8y+tn+UCoWEcf/P+X4wMEC22h4wAAAA== + H4sIAI/MT18C/4WPsQ7DIBBDfyVibmHP2B+JTnBJUIFD3CGoqvx7Qzt1ymTZsuTntwJrkXkRemJS + 86R67+o2KbaUcfhTknfTLpJ5Nqa1pjeiLSBkz9pSNFBlN5Wx+LSSxgg+XNbPVapJWBcc/rJvA1V3 + zwFkpRIH4Bd4kdeP8oFQsIzcu/8vxwfXyTDP4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:28:24.883Z\",\n \"updated\": \"2020-07-14T16:28:24.883Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: grant_type=refresh_token&client_id=xxx&client_secret=xxx&refresh_token=xxx @@ -156,9 +140,9 @@ interactions: response: body: string: !!binary | - H4sIACndDV8C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP - Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTbrIjV/LxFkoZrU2crBq6vWuUotC5uKQ1/mG2MN - eSGDCUIcgF/gWV4/ygdCxTr84P+/HB99IHep4wAAAA== + H4sIAJDMT18C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP + Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTZ79qllYVNxaHWVd5Gav5cIslBN6lzJwV+2GmMN + eSGDCUIcgF/gWV4/ygdCxTr84P+/HB8gnzds4wAAAA== headers: Cache-Control: - private @@ -192,11 +176,17 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -205,36 +195,24 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ version: 1 diff --git a/gcsfs/tests/recordings/test_rm.yaml b/gcsfs/tests/recordings/test_rm.yaml index a50d53c6..3fb3bc33 100644 --- a/gcsfs/tests/recordings/test_rm.yaml +++ b/gcsfs/tests/recordings/test_rm.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAFXcDV8C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULne1I82+NTiHzLPQE7Oe - lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmz25KllYVNxZHViOXh1hblIzd9LBFmopst5Y6wh - L2QwQYhD8Cs8y+tn+UCoWEcf/P+X4wMEC22h4wAAAA== + H4sIAA3MT18C/4XPsQ7DIAwE0F9BzC3sGfsjkQVOggoYYSNSVfn3hnbqlPFON7x7a3AOmWehJ2Y9 + Kb3vu74pzY4KjryJFJ6s7b2blWiNCCWwcZQsNNmsi9T8vUSQhWpSV/PGWENeyGCCEC/np45aFjYV + R1YnKgc/gF/wLK+f8oFQsY4++P8vxwdVrNCv4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:55.601Z\",\n \"updated\": \"2020-07-14T16:24:55.601Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: null @@ -150,12 +134,19 @@ interactions: \"No such object: gcsfs-testing/tmp/test/a\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '255' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '253' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found @@ -169,11 +160,17 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -190,12 +187,19 @@ interactions: \"No such object: gcsfs-testing/tmp/test/a\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '255' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '253' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found @@ -214,10 +218,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUlPD7n8h9ssbJC_OwBE45kRdG1319K5jx4aftV32SPDDncszQGYYiZmRVcDu7qTvUHVaGS1608zsQVpcmSvlEkbqDXoaw + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxCA2fG3gswrrldWFC_WjpJnaPLJsnL59jhy71un1U5NnckTtQDVhZiNHfat2ELErsxs3WBU7HGDWciXliyAQ Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -232,30 +236,38 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUlPD7n8h9ssbJC_OwBE45kRdG1319K5jx4aftV32SPDDncszQGYYiZmRVcDu7qTvUHVaGS1608zsQVpcmSvlEkbqDXoaw + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxCA2fG3gswrrldWFC_WjpJnaPLJsnL59jhy71un1U5NnckTtQDVhZiNHfat2ELErsxs3WBU7HGDWciXliyAQ response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594743897279346\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065103158004\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594743897279346&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065103158004&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743897279346\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065103158004\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n - \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CPKWhfyTzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:57.279Z\",\n \"updated\": \"2020-07-14T16:24:57.279Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:24:57.279Z\"\n}\n" + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CPSVydv1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:03.157Z\",\n \"updated\": \"2020-09-02T16:45:03.157Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:03.157Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '750' - Content-Type: application/json; charset=UTF-8 - Etag: CPKWhfyTzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '746' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CPSVydv1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUlPD7n8h9ssbJC_OwBE45kRdG1319K5jx4aftV32SPDDncszQGYYiZmRVcDu7qTvUHVaGS1608zsQVpcmSvlEkbqDXoaw + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxCA2fG3gswrrldWFC_WjpJnaPLJsnL59jhy71un1U5NnckTtQDVhZiNHfat2ELErsxs3WBU7HGDWciXliyAQ - request: body: null headers: {} @@ -263,22 +275,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594743897279346\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065103158004\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594743897279346&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065103158004&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743897279346\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065103158004\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n - \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CPKWhfyTzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:57.279Z\",\n \"updated\": \"2020-07-14T16:24:57.279Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:24:57.279Z\"\n}\n" + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CPSVydv1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:03.157Z\",\n \"updated\": \"2020-09-02T16:45:03.157Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:03.157Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '750' - Content-Type: application/json; charset=UTF-8 - Etag: CPKWhfyTzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '746' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CPSVydv1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -312,21 +331,33 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_MAAuWZYZlKw_AAmYQENS73Q\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_5v83GGDLmKw_AAndZlI6Ydk\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:24:57 GMT\r\n\r\n\r\n--batch_MAAuWZYZlKw_AAmYQENS73Q--\r\n" + Wed, 02 Sep 2020 16:45:03 GMT\r\n\r\n\r\n--batch_5v83GGDLmKw_AAndZlI6Ydk--\r\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_MAAuWZYZlKw_AAmYQENS73Q - Pragma: no-cache - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_5v83GGDLmKw_AAndZlI6Ydk + Pragma: + - no-cache + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK @@ -343,12 +374,19 @@ interactions: \"No such object: gcsfs-testing/tmp/test/a\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '255' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '253' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found @@ -362,11 +400,17 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -383,68 +427,23 @@ interactions: \"No such object: gcsfs-testing/tmp/test/a\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '255' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '253' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa -- request: - body: ' - - --===============7330845974216740156== - - Content-Type: application/http - - Content-Transfer-Encoding: binary - - Content-ID: - - - DELETE /storage/v1/b/gcsfs-testing/o/nonexistent HTTP/1.1 - - Content-Type: application/json - - accept: application/json - - content-length: 0 - - - --===============7330845974216740156==--' - headers: - Content-Type: - - multipart/mixed; boundary="===============7330845974216740156==" - method: POST - uri: https://www.googleapis.com/batch/storage/v1 - response: - body: - string: "--batch_YTccZ44K71A_AAXFijWV9tU\r\nContent-Type: application/http\r\nContent-ID: - \r\n\r\nHTTP/1.1 404 Not - Found\r\nContent-Type: application/json; charset=UTF-8\r\nDate: Tue, 14 Jul - 2020 16:24:58 GMT\r\nExpires: Tue, 14 Jul 2020 16:24:58 GMT\r\nCache-Control: - private, max-age=0\r\nContent-Length: 229\r\n\r\n{\n \"error\": {\n \"errors\": - [\n {\n \"domain\": \"global\",\n \"reason\": \"notFound\",\n \"message\": - \"No such object: gcsfs-testing/nonexistent\"\n }\n ],\n \"code\": 404,\n - \ \"message\": \"No such object: gcsfs-testing/nonexistent\"\n }\n}\n\r\n--batch_YTccZ44K71A_AAXFijWV9tU--\r\n" - headers: - Cache-Control: private, max-age=0 - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_YTccZ44K71A_AAXFijWV9tU - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block - status: - code: 200 - message: OK - url: https://www.googleapis.com/batch/storage/v1 - request: body: null headers: {} @@ -456,12 +455,19 @@ interactions: \ \"errors\": [\n {\n \"message\": \"Not Found\",\n \"domain\": \"global\",\n \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '193' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '193' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found @@ -470,36 +476,24 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ version: 1 diff --git a/gcsfs/tests/recordings/test_rm_batch.yaml b/gcsfs/tests/recordings/test_rm_batch.yaml index b8583631..50cf87ff 100644 --- a/gcsfs/tests/recordings/test_rm_batch.yaml +++ b/gcsfs/tests/recordings/test_rm_batch.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAFvcDV8C/4XPsQ7DIAwE0F9BzC3sGfsjkQVOggoYYSNSVfn3hnbqlPFON7x7a3AOmWehJ2Y9 - Kb3vu74pzY4KjryJFJ6s7b2blWiNCCWwcZQsNNmsi9T8vUSQhWpSV/PGWENeyGCCEC/np45aFjYV - R1YnKgc/gF/wLK+f8oFQsY4++P8vxwdVrNCv4wAAAA== + H4sIABDMT18C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP + Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTbbGGvICxlMEKK6ip9z1LKwqTi0Oldy8Jc1F6n5 + e4kgC9U0AL/As7x+lA+EinX4wf9/OT5qoa7S4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:00.824Z\",\n \"updated\": \"2020-07-14T16:25:00.824Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: null @@ -152,10 +136,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUmdzJEYEQKdLN0kxwKzrB4caCJiY8qPGSXO4SDKXNmZ5K8yzY4-4z0YYk-6kgGL7UVNBqNt2fKouAaYXFwcoUB5uTcgVQ + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UzkXJQiBRKusicjqQZtD9gRTL08iWJSQBnQKI0SsrGnPKSFEBNKyrsP2CJSXfI8kBlSSJ_DEeci2-ubxSnj1w Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -170,30 +154,38 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUmdzJEYEQKdLN0kxwKzrB4caCJiY8qPGSXO4SDKXNmZ5K8yzY4-4z0YYk-6kgGL7UVNBqNt2fKouAaYXFwcoUB5uTcgVQ + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UzkXJQiBRKusicjqQZtD9gRTL08iWJSQBnQKI0SsrGnPKSFEBNKyrsP2CJSXfI8kBlSSJ_DEeci2-ubxSnj1w response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594743901771908\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065105363307\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594743901771908&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065105363307&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743901771908\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065105363307\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n - \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CISxl/6TzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:01.771Z\",\n \"updated\": \"2020-07-14T16:25:01.771Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:01.771Z\"\n}\n" + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"COviz9z1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:05.363Z\",\n \"updated\": \"2020-09-02T16:45:05.363Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:05.363Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '750' - Content-Type: application/json; charset=UTF-8 - Etag: CISxl/6TzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '746' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - COviz9z1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUmdzJEYEQKdLN0kxwKzrB4caCJiY8qPGSXO4SDKXNmZ5K8yzY4-4z0YYk-6kgGL7UVNBqNt2fKouAaYXFwcoUB5uTcgVQ + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UzkXJQiBRKusicjqQZtD9gRTL08iWJSQBnQKI0SsrGnPKSFEBNKyrsP2CJSXfI8kBlSSJ_DEeci2-ubxSnj1w - request: body: null headers: @@ -208,10 +200,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUmE8VHgc7X2llyXcgrfqlZMic1xFRrY7ePeyM62prEgdZAsE3Q0P-rRGQIZIdjIiMd2a87LDUbZRaneNOcc056-hO4qvQ + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UwFOGaXZYpLaYNpmwmmiQkZQzFWe5Y_wxOTmxo-SkNyXS9kHmBKEKvnuyOHLTENFwozGVxclWDJKOR9DN_9uA Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -226,106 +218,126 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUmE8VHgc7X2llyXcgrfqlZMic1xFRrY7ePeyM62prEgdZAsE3Q0P-rRGQIZIdjIiMd2a87LDUbZRaneNOcc056-hO4qvQ + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UwFOGaXZYpLaYNpmwmmiQkZQzFWe5Y_wxOTmxo-SkNyXS9kHmBKEKvnuyOHLTENFwozGVxclWDJKOR9DN_9uA response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/b/1594743902670858\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/b/1599065106037072\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fb\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fb?generation=1594743902670858&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fb?generation=1599065106037072&alt=media\",\n \ \"name\": \"tmp/test/b\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743902670858\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065106037072\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n - \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CIqgzv6TzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:02.670Z\",\n \"updated\": \"2020-07-14T16:25:02.670Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:02.670Z\"\n}\n" - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '750' - Content-Type: application/json; charset=UTF-8 - Etag: CIqgzv6TzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUmE8VHgc7X2llyXcgrfqlZMic1xFRrY7ePeyM62prEgdZAsE3Q0P-rRGQIZIdjIiMd2a87LDUbZRaneNOcc056-hO4qvQ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"tmp/\"\n - \ ]\n}\n" + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CNDy+Nz1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:06.036Z\",\n \"updated\": \"2020-09-02T16:45:06.036Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:06.036Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '64' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '746' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CNDy+Nz1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UwFOGaXZYpLaYNpmwmmiQkZQzFWe5Y_wxOTmxo-SkNyXS9kHmBKEKvnuyOHLTENFwozGVxclWDJKOR9DN_9uA - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=tmp%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"tmp/test/\"\n - \ ]\n}\n" + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065105363307\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065105363307&alt=media\",\n + \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065105363307\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n \"crc32c\": + \"AAAAAA==\",\n \"etag\": \"COviz9z1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:05.363Z\",\n \"updated\": \"2020-09-02T16:45:05.363Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:05.363Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/b/1599065106037072\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fb\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fb?generation=1599065106037072&alt=media\",\n + \ \"name\": \"tmp/test/b\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065106037072\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n \"crc32c\": + \"AAAAAA==\",\n \"etag\": \"CNDy+Nz1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:06.036Z\",\n \"updated\": \"2020-09-02T16:45:06.036Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:06.036Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '69' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '1695' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=tmp/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=tmp%2Ftest%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594743901771908\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065105363307\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594743901771908&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065105363307&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743901771908\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599065105363307\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n \"crc32c\": - \"AAAAAA==\",\n \"etag\": \"CISxl/6TzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:01.771Z\",\n \"updated\": \"2020-07-14T16:25:01.771Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:01.771Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/b/1594743902670858\",\n + \"AAAAAA==\",\n \"etag\": \"COviz9z1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:05.363Z\",\n \"updated\": \"2020-09-02T16:45:05.363Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:05.363Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/b/1599065106037072\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fb\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fb?generation=1594743902670858&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fb?generation=1599065106037072&alt=media\",\n \ \"name\": \"tmp/test/b\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743902670858\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599065106037072\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n \"crc32c\": - \"AAAAAA==\",\n \"etag\": \"CIqgzv6TzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:02.670Z\",\n \"updated\": \"2020-07-14T16:25:02.670Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:02.670Z\"\n }\n ]\n}\n" + \"AAAAAA==\",\n \"etag\": \"CNDy+Nz1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:06.036Z\",\n \"updated\": \"2020-09-02T16:45:06.036Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:06.036Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1703' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '1695' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=tmp/test/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -373,22 +385,33 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_YPKjeDtaVlc_AAa3tCKy7YQ\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_CwCbPrrwDf8_AAJIyq-qD5Y\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:25:03 GMT\r\n\r\n\r\n--batch_YPKjeDtaVlc_AAa3tCKy7YQ\r\nContent-Type: + Wed, 02 Sep 2020 16:45:06 GMT\r\n\r\n\r\n--batch_CwCbPrrwDf8_AAJIyq-qD5Y\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:03 GMT\r\n\r\n\r\n--batch_YPKjeDtaVlc_AAa3tCKy7YQ--\r\n" + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:06 GMT\r\n\r\n\r\n--batch_CwCbPrrwDf8_AAJIyq-qD5Y--\r\n" headers: - Cache-Control: private, max-age=0 - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_YPKjeDtaVlc_AAa3tCKy7YQ - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - private, max-age=0 + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_CwCbPrrwDf8_AAJIyq-qD5Y + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK @@ -397,108 +420,72 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ version: 1 diff --git a/gcsfs/tests/recordings/test_rm_recursive.yaml b/gcsfs/tests/recordings/test_rm_recursive.yaml index d14f6283..7f52da88 100644 --- a/gcsfs/tests/recordings/test_rm_recursive.yaml +++ b/gcsfs/tests/recordings/test_rm_recursive.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAGHcDV8C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULne1I82+NTiHzLPQE7Oe - lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmzWRWr+XiLIQjWpk8rBqyuqMdaQFzKYIMTL+SlJ - LQubiiMPwa/wLK+f5QOhYh198P9fjg+YY4lN4wAAAA== + H4sIABPMT18C/4XPsQ7DIAwE0F9BzC3sGfsjkQVOggoYYSNSVfn3hnbqlPFON7x7a3AOmWehJ2Y9 + Kb3vu74pzY4KjryJFJ6s7b2blWiNCCWwcZQsNNlsY6whL2QwQYjqau4iNX8vEWShmi7np45aFjYV + R1YnKgc/gF/wLK+f8oFQsY4++P8vxwcIgekt4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:06.636Z\",\n \"updated\": \"2020-07-14T16:25:06.636Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: null @@ -152,10 +136,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUmWIk1OzlXgYs5fSGGJYo6e-JQhvIaPsvM93iJB5EYrmljVoy6ugI8dRiLU3O-D5m_2ADVFBpvVxmHmTZtKmFDHZZOrgQ + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UzWJTlxdUkTefJhbItf17Y-Y5u9nsH0q5ZeJQTjbVPSfuLKr75KqA1SQoda61Mh9QLqqQiGqKyDQg5dKIG2eg Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -170,30 +154,38 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUmWIk1OzlXgYs5fSGGJYo6e-JQhvIaPsvM93iJB5EYrmljVoy6ugI8dRiLU3O-D5m_2ADVFBpvVxmHmTZtKmFDHZZOrgQ + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UzWJTlxdUkTefJhbItf17Y-Y5u9nsH0q5ZeJQTjbVPSfuLKr75KqA1SQoda61Mh9QLqqQiGqKyDQg5dKIG2eg response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/a/1594743907474973\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/a/1599065108328692\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/a\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/a?generation=1594743907474973&alt=media\",\n - \ \"name\": \"a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": \"1594743907474973\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/a?generation=1599065108328692&alt=media\",\n + \ \"name\": \"a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": \"1599065108328692\",\n \ \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n - \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CJ2884CUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:07.474Z\",\n \"updated\": \"2020-07-14T16:25:07.474Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:07.474Z\"\n}\n" + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CPThhN71yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:08.328Z\",\n \"updated\": \"2020-09-02T16:45:08.328Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:08.328Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '706' - Content-Type: application/json; charset=UTF-8 - Etag: CJ2884CUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '702' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CPThhN71yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUmWIk1OzlXgYs5fSGGJYo6e-JQhvIaPsvM93iJB5EYrmljVoy6ugI8dRiLU3O-D5m_2ADVFBpvVxmHmTZtKmFDHZZOrgQ + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UzWJTlxdUkTefJhbItf17Y-Y5u9nsH0q5ZeJQTjbVPSfuLKr75KqA1SQoda61Mh9QLqqQiGqKyDQg5dKIG2eg - request: body: null headers: @@ -208,10 +200,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUk6XsvDREJkk780tj0Lb1Ben41S0iF5q3uGAgrykS6ppSWLg_8dVYEKBv9GNhd-8_qfsg04IXBgXee5Dj1uk7q4F_H-aA + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UyVVNo81VYu9-Gj79nd-UMrrods2bZq4oWah61LopGdnhHC7pVZYL4WU8cE1w1bXSKH2rZiEgW3VMoU6d6-UQ Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -226,30 +218,38 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUk6XsvDREJkk780tj0Lb1Ben41S0iF5q3uGAgrykS6ppSWLg_8dVYEKBv9GNhd-8_qfsg04IXBgXee5Dj1uk7q4F_H-aA + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UyVVNo81VYu9-Gj79nd-UMrrods2bZq4oWah61LopGdnhHC7pVZYL4WU8cE1w1bXSKH2rZiEgW3VMoU6d6-UQ response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/a/b/1594743908373320\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/a/b/1599065108858003\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/a%2Fb\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/a%2Fb?generation=1594743908373320&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/a%2Fb?generation=1599065108858003&alt=media\",\n \ \"name\": \"a/b\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743908373320\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065108858003\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n - \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CMimqoGUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:08.373Z\",\n \"updated\": \"2020-07-14T16:25:08.373Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:08.373Z\"\n}\n" + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CJOJpd71yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:08.857Z\",\n \"updated\": \"2020-09-02T16:45:08.857Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:08.857Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '718' - Content-Type: application/json; charset=UTF-8 - Etag: CMimqoGUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '714' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CJOJpd71yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUk6XsvDREJkk780tj0Lb1Ben41S0iF5q3uGAgrykS6ppSWLg_8dVYEKBv9GNhd-8_qfsg04IXBgXee5Dj1uk7q4F_H-aA + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UyVVNo81VYu9-Gj79nd-UMrrods2bZq4oWah61LopGdnhHC7pVZYL4WU8cE1w1bXSKH2rZiEgW3VMoU6d6-UQ - request: body: null headers: @@ -264,10 +264,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUl__JgjomSrRQF2JYR-mEgd9mzGatNG-7FL0FT31k-gTSo84q9C2tirT1xKivGn07rUKuUAEOsdm6S_PEP3hRie7g0NOQ + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UybkkRqHtK0CfW19Kl5O9BqtnhkQdl9fTkdkP_n7uQQPEvLpnSmSbbDGzQn68ZCU5s0UGq2xEkHuZBAa-AD9Q Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -282,68 +282,116 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUl__JgjomSrRQF2JYR-mEgd9mzGatNG-7FL0FT31k-gTSo84q9C2tirT1xKivGn07rUKuUAEOsdm6S_PEP3hRie7g0NOQ + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UybkkRqHtK0CfW19Kl5O9BqtnhkQdl9fTkdkP_n7uQQPEvLpnSmSbbDGzQn68ZCU5s0UGq2xEkHuZBAa-AD9Q response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/a/c/1594743909172314\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/a/c/1599065109441148\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/a%2Fc\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/a%2Fc?generation=1594743909172314&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/a%2Fc?generation=1599065109441148&alt=media\",\n \ \"name\": \"a/c\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743909172314\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065109441148\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n - \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CNqI24GUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:09.172Z\",\n \"updated\": \"2020-07-14T16:25:09.172Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:09.172Z\"\n}\n" + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CPzUyN71yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:09.441Z\",\n \"updated\": \"2020-09-02T16:45:09.441Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:09.441Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '718' - Content-Type: application/json; charset=UTF-8 - Etag: CNqI24GUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '714' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CPzUyN71yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUl__JgjomSrRQF2JYR-mEgd9mzGatNG-7FL0FT31k-gTSo84q9C2tirT1xKivGn07rUKuUAEOsdm6S_PEP3hRie7g0NOQ + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UybkkRqHtK0CfW19Kl5O9BqtnhkQdl9fTkdkP_n7uQQPEvLpnSmSbbDGzQn68ZCU5s0UGq2xEkHuZBAa-AD9Q - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=a%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=a%2F response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/a/b/1594743908373320\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/a/b/1599065108858003\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/a%2Fb\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/a%2Fb?generation=1594743908373320&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/a%2Fb?generation=1599065108858003&alt=media\",\n \ \"name\": \"a/b\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743908373320\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599065108858003\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n \"crc32c\": - \"AAAAAA==\",\n \"etag\": \"CMimqoGUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:08.373Z\",\n \"updated\": \"2020-07-14T16:25:08.373Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:08.373Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/a/c/1594743909172314\",\n + \"AAAAAA==\",\n \"etag\": \"CJOJpd71yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:08.857Z\",\n \"updated\": \"2020-09-02T16:45:08.857Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:08.857Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/a/c/1599065109441148\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/a%2Fc\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/a%2Fc?generation=1594743909172314&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/a%2Fc?generation=1599065109441148&alt=media\",\n \ \"name\": \"a/c\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743909172314\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599065109441148\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n \"crc32c\": - \"AAAAAA==\",\n \"etag\": \"CNqI24GUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:09.172Z\",\n \"updated\": \"2020-07-14T16:25:09.172Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:09.172Z\"\n }\n ]\n}\n" + \"AAAAAA==\",\n \"etag\": \"CPzUyN71yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:09.441Z\",\n \"updated\": \"2020-09-02T16:45:09.441Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:09.441Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1639' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '1631' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=a/ +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/a + response: + body: + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/a/1599065108328692\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/a\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/a?generation=1599065108328692&alt=media\",\n + \ \"name\": \"a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": \"1599065108328692\",\n + \ \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CPThhN71yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:08.328Z\",\n \"updated\": \"2020-09-02T16:45:08.328Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:08.328Z\"\n}\n" + headers: + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '702' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CPThhN71yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=a/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/a - request: body: ' @@ -409,24 +457,35 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_BG5l8de9gqs_AAQ4h_ShmMI\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_dVlH_vdycHw_AAGWTUbETY8\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:25:09 GMT\r\n\r\n\r\n--batch_BG5l8de9gqs_AAQ4h_ShmMI\r\nContent-Type: + Wed, 02 Sep 2020 16:45:09 GMT\r\n\r\n\r\n--batch_dVlH_vdycHw_AAGWTUbETY8\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:09 GMT\r\n\r\n\r\n--batch_BG5l8de9gqs_AAQ4h_ShmMI\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:09 GMT\r\n\r\n\r\n--batch_dVlH_vdycHw_AAGWTUbETY8\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:09 GMT\r\n\r\n\r\n--batch_BG5l8de9gqs_AAQ4h_ShmMI--\r\n" + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:09 GMT\r\n\r\n\r\n--batch_dVlH_vdycHw_AAGWTUbETY8--\r\n" headers: - Cache-Control: private, max-age=0 - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_BG5l8de9gqs_AAQ4h_ShmMI - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - private, max-age=0 + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_dVlH_vdycHw_AAGWTUbETY8 + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK @@ -443,12 +502,19 @@ interactions: such object: gcsfs-testing/a/c\",\n \"domain\": \"global\",\n \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '241' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '239' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found @@ -462,11 +528,17 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -483,12 +555,19 @@ interactions: such object: gcsfs-testing/a/c\",\n \"domain\": \"global\",\n \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '241' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '239' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found @@ -497,36 +576,24 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\"\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ version: 1 diff --git a/gcsfs/tests/recordings/test_seek.yaml b/gcsfs/tests/recordings/test_seek.yaml index 38929462..bc2568f6 100644 --- a/gcsfs/tests/recordings/test_seek.yaml +++ b/gcsfs/tests/recordings/test_seek.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAIzcDV8C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP - Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTbrIjV/LxFkoZrU2crBq6vWuUotC5uKQ1/mG2MN - eSGDCUIcgF/gWV4/ygdCxTr84P+/HB99IHep4wAAAA== + H4sIADHMT18C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULne1I82+NTiHzLPQE7Oe + lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmzWRWr+XiLIQjWpk8rBqyuqMdaQFzKYIMTL+SlJ + LQubiiMPwa/wLK+f5QOhYh198P9fjg+YY4lN4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:49.697Z\",\n \"updated\": \"2020-07-14T16:25:49.697Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: '--==0== @@ -144,20 +128,20 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "test/accounts.2.json"} + {"name": "test/accounts.1.json"} --==0== Content-Type: application/octet-stream - {"amount": 500, "name": "Alice"} + {"amount": 100, "name": "Alice"} - {"amount": 600, "name": "Bob"} + {"amount": 200, "name": "Bob"} - {"amount": 700, "name": "Charlie"} + {"amount": 300, "name": "Charlie"} - {"amount": 800, "name": "Dennis"} + {"amount": 400, "name": "Dennis"} --==0==--' @@ -168,24 +152,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594743950103205\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594743950103205&alt=media\",\n - \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743950103205\",\n \"metageneration\": \"1\",\n \"contentType\": + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065138336145\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065138336145&alt=media\",\n + \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065138336145\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n - \ \"etag\": \"CKWlnZWUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:25:50.103Z\",\n - \ \"updated\": \"2020-07-14T16:25:50.103Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:25:50.103Z\"\n}\n" + \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n + \ \"etag\": \"CJGjrOz1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:38.336Z\",\n + \ \"updated\": \"2020-09-02T16:45:38.336Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:38.336Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CKWlnZWUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CJGjrOz1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -196,20 +188,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "test/accounts.1.json"} + {"name": "2014-01-02.csv"} --==0== Content-Type: application/octet-stream - {"amount": 100, "name": "Alice"} - - {"amount": 200, "name": "Bob"} - - {"amount": 300, "name": "Charlie"} - - {"amount": 400, "name": "Dennis"} + name,amount,id --==0==--' @@ -220,24 +206,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594743950103390\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594743950103390&alt=media\",\n - \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743950103390\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"CN6mnZWUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:25:50.103Z\",\n - \ \"updated\": \"2020-07-14T16:25:50.103Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:25:50.103Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065138406490\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065138406490&alt=media\",\n + \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065138406490\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CNrIsOz1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:38.406Z\",\n \"updated\": \"2020-09-02T16:45:38.406Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:38.406Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CN6mnZWUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CNrIsOz1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -248,14 +241,20 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/file1"} + {"name": "test/accounts.2.json"} --==0== Content-Type: application/octet-stream - hello + {"amount": 500, "name": "Alice"} + + {"amount": 600, "name": "Bob"} + + {"amount": 700, "name": "Charlie"} + + {"amount": 800, "name": "Dennis"} --==0==--' @@ -266,23 +265,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1594743950150219\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594743950150219&alt=media\",\n - \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743950150219\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CMuUoJWUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:50.150Z\",\n \"updated\": \"2020-07-14T16:25:50.150Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:50.150Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065138438303\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065138438303&alt=media\",\n + \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065138438303\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n + \ \"etag\": \"CJ/Bsuz1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:38.438Z\",\n + \ \"updated\": \"2020-09-02T16:45:38.438Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:38.438Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CMuUoJWUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CJ/Bsuz1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -293,7 +301,7 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-02.csv"} + {"name": "2014-01-01.csv"} --==0== @@ -302,6 +310,12 @@ interactions: name,amount,id + Alice,100,1 + + Bob,200,2 + + Charlie,300,3 + --==0==--' headers: @@ -311,23 +325,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594743950190848\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594743950190848&alt=media\",\n - \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743950190848\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CIDSopWUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:50.190Z\",\n \"updated\": \"2020-07-14T16:25:50.190Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:50.190Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065138454192\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065138454192&alt=media\",\n + \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065138454192\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CLC9s+z1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:38.454Z\",\n \"updated\": \"2020-09-02T16:45:38.454Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:38.454Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CIDSopWUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CLC9s+z1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -338,15 +360,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/nested2/file1"} + {"name": "nested/file2"} --==0== Content-Type: application/octet-stream - hello - + world --==0==--' headers: @@ -356,24 +377,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594743950213048\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594743950213048&alt=media\",\n - \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743950213048\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n \"crc32c\": \"NT3Yvg==\",\n - \ \"etag\": \"CLj/o5WUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:25:50.212Z\",\n - \ \"updated\": \"2020-07-14T16:25:50.212Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:25:50.212Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065138454722\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065138454722&alt=media\",\n + \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065138454722\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CMLBs+z1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:38.454Z\",\n \"updated\": \"2020-09-02T16:45:38.454Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:38.454Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: CLj/o5WUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CMLBs+z1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -384,7 +412,7 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/file2"} + {"name": "nested/nested2/file2"} --==0== @@ -401,23 +429,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594743950259527\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594743950259527&alt=media\",\n - \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743950259527\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CMfqppWUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:50.259Z\",\n \"updated\": \"2020-07-14T16:25:50.259Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:50.259Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065138454217\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065138454217&alt=media\",\n + \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065138454217\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n \"crc32c\": \"MaqBTg==\",\n + \ \"etag\": \"CMm9s+z1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:38.454Z\",\n + \ \"updated\": \"2020-09-02T16:45:38.454Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:38.454Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CMfqppWUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CMm9s+z1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -428,14 +465,15 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/nested2/file2"} + {"name": "nested/file1"} --==0== Content-Type: application/octet-stream - world + hello + --==0==--' headers: @@ -445,24 +483,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594743951191716\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594743951191716&alt=media\",\n - \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743951191716\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n \"crc32c\": \"MaqBTg==\",\n - \ \"etag\": \"CKTd35WUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:25:51.191Z\",\n - \ \"updated\": \"2020-07-14T16:25:51.191Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:25:51.191Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065138459623\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065138459623&alt=media\",\n + \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065138459623\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"COfns+z1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:38.459Z\",\n \"updated\": \"2020-09-02T16:45:38.459Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:38.459Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: CKTd35WUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - COfns+z1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -473,20 +518,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-03.csv"} + {"name": "nested/nested2/file1"} --==0== Content-Type: application/octet-stream - name,amount,id - - Dennis,400,4 - - Edith,500,5 - - Frank,600,6 + hello --==0==--' @@ -497,23 +536,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594743951205654\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594743951205654&alt=media\",\n - \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743951205654\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CJbK4JWUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:51.205Z\",\n \"updated\": \"2020-07-14T16:25:51.205Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:51.205Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065138465037\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065138465037&alt=media\",\n + \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065138465037\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n \"crc32c\": \"NT3Yvg==\",\n + \ \"etag\": \"CI2StOz1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:38.464Z\",\n + \ \"updated\": \"2020-09-02T16:45:38.464Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:38.464Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CJbK4JWUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CI2StOz1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -524,7 +572,7 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-01.csv"} + {"name": "2014-01-03.csv"} --==0== @@ -533,11 +581,11 @@ interactions: name,amount,id - Alice,100,1 + Dennis,400,4 - Bob,200,2 + Edith,500,5 - Charlie,300,3 + Frank,600,6 --==0==--' @@ -548,23 +596,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1594743951299112\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594743951299112&alt=media\",\n - \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743951299112\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CKik5pWUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:51.298Z\",\n \"updated\": \"2020-07-14T16:25:51.298Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:51.298Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065138647892\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065138647892&alt=media\",\n + \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065138647892\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CNSmv+z1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:38.647Z\",\n \"updated\": \"2020-09-02T16:45:38.647Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:38.647Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CKik5pWUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CNSmv+z1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -583,10 +639,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUlNeIZ46fYDiaWRW9fYHxiduC56-bI6B-4BodSlDgyeFCaIJMfwSkMuVO4wb_Ea8-0AfJxfogChB1rAVVpvioe3rnVI_w + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxzDbwkp7K0CgI0X5NDZvcZBBRhUmmFMbnMFs7WyLslvgtSih1zOVLRoGyMKElHej81HgNPn576nLgxycV6Y35TNmEVoA Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -601,30 +657,38 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUlNeIZ46fYDiaWRW9fYHxiduC56-bI6B-4BodSlDgyeFCaIJMfwSkMuVO4wb_Ea8-0AfJxfogChB1rAVVpvioe3rnVI_w + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxzDbwkp7K0CgI0X5NDZvcZBBRhUmmFMbnMFs7WyLslvgtSih1zOVLRoGyMKElHej81HgNPn576nLgxycV6Y35TNmEVoA response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594743952172999\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065139136331\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594743952172999&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065139136331&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743952172999\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065139136331\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"3\",\n \"md5Hash\": \"ICy5YqxZB1uWSwcVLSNLcA==\",\n - \ \"crc32c\": \"EHsvsg==\",\n \"etag\": \"CMfPm5aUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:52.172Z\",\n \"updated\": \"2020-07-14T16:25:52.172Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:52.172Z\"\n}\n" + \ \"crc32c\": \"EHsvsg==\",\n \"etag\": \"CMuO3ez1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:39.136Z\",\n \"updated\": \"2020-09-02T16:45:39.136Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:39.136Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '750' - Content-Type: application/json; charset=UTF-8 - Etag: CMfPm5aUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '746' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CMuO3ez1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUlNeIZ46fYDiaWRW9fYHxiduC56-bI6B-4BodSlDgyeFCaIJMfwSkMuVO4wb_Ea8-0AfJxfogChB1rAVVpvioe3rnVI_w + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxzDbwkp7K0CgI0X5NDZvcZBBRhUmmFMbnMFs7WyLslvgtSih1zOVLRoGyMKElHej81HgNPn576nLgxycV6Y35TNmEVoA - request: body: null headers: {} @@ -632,22 +696,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594743952172999\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065139136331\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594743952172999&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065139136331&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743952172999\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065139136331\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"3\",\n \"md5Hash\": \"ICy5YqxZB1uWSwcVLSNLcA==\",\n - \ \"crc32c\": \"EHsvsg==\",\n \"etag\": \"CMfPm5aUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:52.172Z\",\n \"updated\": \"2020-07-14T16:25:52.172Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:52.172Z\"\n}\n" + \ \"crc32c\": \"EHsvsg==\",\n \"etag\": \"CMuO3ez1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:39.136Z\",\n \"updated\": \"2020-09-02T16:45:39.136Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:39.136Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '750' - Content-Type: application/json; charset=UTF-8 - Etag: CMfPm5aUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '746' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CMuO3ez1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -658,237 +729,164 @@ interactions: Range: - bytes=0-2 method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?alt=media&generation=1594743952172999 + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?alt=media&generation=1599065139136331 response: body: string: '123' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '3' - Content-Range: bytes 0-2/3 - Content-Type: application/octet-stream - Etag: CMfPm5aUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594743952172999' - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '3' + Content-Range: + - bytes 0-2/3 + Content-Type: + - application/octet-stream + Etag: + - CMuO3ez1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065139136331' + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 206 message: Partial Content - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594743952172999&alt=media + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065139136331&alt=media - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/\",\n - \ \"test/\",\n \"tmp/\"\n ],\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1594743951299112\",\n + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065138454192\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594743951299112&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065138454192&alt=media\",\n \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743951299112\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065138454192\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CKik5pWUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:51.298Z\",\n \"updated\": \"2020-07-14T16:25:51.298Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:51.298Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594743950190848\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CLC9s+z1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:38.454Z\",\n \"updated\": \"2020-09-02T16:45:38.454Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:38.454Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065138406490\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594743950190848&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065138406490&alt=media\",\n \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743950190848\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065138406490\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CIDSopWUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:50.190Z\",\n \"updated\": \"2020-07-14T16:25:50.190Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:50.190Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594743951205654\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CNrIsOz1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:38.406Z\",\n \"updated\": \"2020-09-02T16:45:38.406Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:38.406Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065138647892\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594743951205654&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065138647892&alt=media\",\n \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743951205654\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065138647892\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CJbK4JWUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:51.205Z\",\n \"updated\": \"2020-07-14T16:25:51.205Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:51.205Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '2617' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/nested2/\"\n - \ ],\n \"items\": [\n {\n \"kind\": \"storage#object\",\n \"id\": - \"gcsfs-testing/nested/file1/1594743950150219\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594743950150219&alt=media\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CNSmv+z1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:38.647Z\",\n \"updated\": \"2020-09-02T16:45:38.647Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:38.647Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065138459623\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065138459623&alt=media\",\n \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743950150219\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065138459623\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CMuUoJWUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:50.150Z\",\n \"updated\": \"2020-07-14T16:25:50.150Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:50.150Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594743950259527\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"COfns+z1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:38.459Z\",\n \"updated\": \"2020-09-02T16:45:38.459Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:38.459Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065138454722\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594743950259527&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065138454722&alt=media\",\n \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743950259527\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065138454722\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CMfqppWUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:50.259Z\",\n \"updated\": \"2020-07-14T16:25:50.259Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:50.259Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1754' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2Fnested2%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594743950213048\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CMLBs+z1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:38.454Z\",\n \"updated\": \"2020-09-02T16:45:38.454Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:38.454Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065138465037\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594743950213048&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065138465037&alt=media\",\n \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743950213048\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065138465037\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CLj/o5WUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:50.212Z\",\n \"updated\": \"2020-07-14T16:25:50.212Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:50.212Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594743951191716\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CI2StOz1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:38.464Z\",\n \"updated\": \"2020-09-02T16:45:38.464Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:38.464Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065138454217\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594743951191716&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065138454217&alt=media\",\n \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743951191716\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065138454217\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CKTd35WUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:51.191Z\",\n \"updated\": \"2020-07-14T16:25:51.191Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:51.191Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1783' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/nested2/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=test%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594743950103390\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CMm9s+z1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:38.454Z\",\n \"updated\": \"2020-09-02T16:45:38.454Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:38.454Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065138336145\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594743950103390&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065138336145&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743950103390\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065138336145\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n - \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CN6mnZWUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:50.103Z\",\n \"updated\": \"2020-07-14T16:25:50.103Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:50.103Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594743950103205\",\n + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CJGjrOz1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:38.336Z\",\n \"updated\": \"2020-09-02T16:45:38.336Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:38.336Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065138438303\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594743950103205&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065138438303&alt=media\",\n \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743950103205\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065138438303\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n - \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CKWlnZWUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:50.103Z\",\n \"updated\": \"2020-07-14T16:25:50.103Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:50.103Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1779' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=test/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=tmp%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"tmp/test/\"\n - \ ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '69' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=tmp/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=tmp%2Ftest%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594743952172999\",\n + \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CJ/Bsuz1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:38.438Z\",\n \"updated\": \"2020-09-02T16:45:38.438Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:38.438Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065139136331\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594743952172999&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065139136331&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743952172999\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599065139136331\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"3\",\n \"md5Hash\": \"ICy5YqxZB1uWSwcVLSNLcA==\",\n \"crc32c\": - \"EHsvsg==\",\n \"etag\": \"CMfPm5aUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:52.172Z\",\n \"updated\": \"2020-07-14T16:25:52.172Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:52.172Z\"\n }\n ]\n}\n" + \"EHsvsg==\",\n \"etag\": \"CMuO3ez1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:39.136Z\",\n \"updated\": \"2020-09-02T16:45:39.136Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:39.136Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '876' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '8470' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=tmp/test/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -1080,38 +1078,49 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_DG5emB4pnL0_AAPGc30F6B8\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_PQLvi3gECNg_AAKWz5buPus\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:25:53 GMT\r\n\r\n\r\n--batch_DG5emB4pnL0_AAPGc30F6B8\r\nContent-Type: + Wed, 02 Sep 2020 16:45:40 GMT\r\n\r\n\r\n--batch_PQLvi3gECNg_AAKWz5buPus\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:53 GMT\r\n\r\n\r\n--batch_DG5emB4pnL0_AAPGc30F6B8\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:40 GMT\r\n\r\n\r\n--batch_PQLvi3gECNg_AAKWz5buPus\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:53 GMT\r\n\r\n\r\n--batch_DG5emB4pnL0_AAPGc30F6B8\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:40 GMT\r\n\r\n\r\n--batch_PQLvi3gECNg_AAKWz5buPus\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:53 GMT\r\n\r\n\r\n--batch_DG5emB4pnL0_AAPGc30F6B8\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:40 GMT\r\n\r\n\r\n--batch_PQLvi3gECNg_AAKWz5buPus\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:53 GMT\r\n\r\n\r\n--batch_DG5emB4pnL0_AAPGc30F6B8\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:40 GMT\r\n\r\n\r\n--batch_PQLvi3gECNg_AAKWz5buPus\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:53 GMT\r\n\r\n\r\n--batch_DG5emB4pnL0_AAPGc30F6B8\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:40 GMT\r\n\r\n\r\n--batch_PQLvi3gECNg_AAKWz5buPus\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:53 GMT\r\n\r\n\r\n--batch_DG5emB4pnL0_AAPGc30F6B8\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:40 GMT\r\n\r\n\r\n--batch_PQLvi3gECNg_AAKWz5buPus\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:53 GMT\r\n\r\n\r\n--batch_DG5emB4pnL0_AAPGc30F6B8\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:40 GMT\r\n\r\n\r\n--batch_PQLvi3gECNg_AAKWz5buPus\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:53 GMT\r\n\r\n\r\n--batch_DG5emB4pnL0_AAPGc30F6B8\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:40 GMT\r\n\r\n\r\n--batch_PQLvi3gECNg_AAKWz5buPus\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:53 GMT\r\n\r\n\r\n--batch_DG5emB4pnL0_AAPGc30F6B8--\r\n" + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:40 GMT\r\n\r\n\r\n--batch_PQLvi3gECNg_AAKWz5buPus--\r\n" headers: - Cache-Control: private, max-age=0 - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_DG5emB4pnL0_AAPGc30F6B8 - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - private, max-age=0 + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_PQLvi3gECNg_AAKWz5buPus + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_seek_delimiter.yaml b/gcsfs/tests/recordings/test_seek_delimiter.yaml index 690b4fcc..836e2a73 100644 --- a/gcsfs/tests/recordings/test_seek_delimiter.yaml +++ b/gcsfs/tests/recordings/test_seek_delimiter.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAM3cDV8C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP - Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTbrIjV/LxFkoZrUVfyco5aFTcWh1bmSg7+sNcYa - 8kIGE4Q4AL/As7x+lA+EinX4wf9/OT6PTYPl4wAAAA== + H4sIAFTMT18C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP + Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTbbGGvICxlMEKK6ip9z1LKwqTi0Oldy8Jc1F6n5 + e4kgC9U0AL/As7x+lA+EinX4wf9/OT5qoa7S4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:55.522Z\",\n \"updated\": \"2020-07-14T16:26:55.522Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: '--==0== @@ -168,24 +152,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594744015918570\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065173567479\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594744015918570&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065173567479&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744015918570\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065173567479\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"COqrzrSUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:55.918Z\",\n - \ \"updated\": \"2020-07-14T16:26:55.918Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:55.918Z\"\n}\n" + \ \"etag\": \"CPfPkv31yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:13.567Z\",\n + \ \"updated\": \"2020-09-02T16:46:13.567Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:13.567Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: COqrzrSUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CPfPkv31yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -196,14 +188,21 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/nested2/file2"} + {"name": "2014-01-01.csv"} --==0== Content-Type: application/octet-stream - world + name,amount,id + + Alice,100,1 + + Bob,200,2 + + Charlie,300,3 + --==0==--' headers: @@ -213,24 +212,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594744016014756\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594744016014756&alt=media\",\n - \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744016014756\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n \"crc32c\": \"MaqBTg==\",\n - \ \"etag\": \"CKSb1LSUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:56.014Z\",\n - \ \"updated\": \"2020-07-14T16:26:56.014Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:56.014Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065173630655\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065173630655&alt=media\",\n + \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065173630655\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CL+9lv31yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:13.630Z\",\n \"updated\": \"2020-09-02T16:46:13.630Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:13.630Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: CKSb1LSUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CL+9lv31yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -241,20 +247,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "test/accounts.2.json"} + {"name": "2014-01-02.csv"} --==0== Content-Type: application/octet-stream - {"amount": 500, "name": "Alice"} - - {"amount": 600, "name": "Bob"} - - {"amount": 700, "name": "Charlie"} - - {"amount": 800, "name": "Dennis"} + name,amount,id --==0==--' @@ -265,24 +265,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594744016040208\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594744016040208&alt=media\",\n - \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744016040208\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n - \ \"etag\": \"CJDi1bSUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:56.040Z\",\n - \ \"updated\": \"2020-07-14T16:26:56.040Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:56.040Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065173644466\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065173644466&alt=media\",\n + \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065173644466\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CLKpl/31yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:13.644Z\",\n \"updated\": \"2020-09-02T16:46:13.644Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:13.644Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CJDi1bSUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CLKpl/31yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -293,14 +300,15 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/file2"} + {"name": "nested/nested2/file1"} --==0== Content-Type: application/octet-stream - world + hello + --==0==--' headers: @@ -310,23 +318,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594744016093537\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594744016093537&alt=media\",\n - \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744016093537\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"COGC2bSUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:56.093Z\",\n \"updated\": \"2020-07-14T16:26:56.093Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:56.093Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065173678122\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065173678122&alt=media\",\n + \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065173678122\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n \"crc32c\": \"NT3Yvg==\",\n + \ \"etag\": \"CKqwmf31yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:13.678Z\",\n + \ \"updated\": \"2020-09-02T16:46:13.678Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:13.678Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: COGC2bSUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CKqwmf31yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -337,15 +354,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-02.csv"} + {"name": "nested/nested2/file2"} --==0== Content-Type: application/octet-stream - name,amount,id - + world --==0==--' headers: @@ -355,23 +371,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594744016092655\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594744016092655&alt=media\",\n - \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744016092655\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CO/72LSUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:56.092Z\",\n \"updated\": \"2020-07-14T16:26:56.092Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:56.092Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065173713844\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065173713844&alt=media\",\n + \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065173713844\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n \"crc32c\": \"MaqBTg==\",\n + \ \"etag\": \"CLTHm/31yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:13.713Z\",\n + \ \"updated\": \"2020-09-02T16:46:13.713Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:13.713Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CO/72LSUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CLTHm/31yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -382,20 +407,20 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-03.csv"} + {"name": "test/accounts.2.json"} --==0== Content-Type: application/octet-stream - name,amount,id + {"amount": 500, "name": "Alice"} - Dennis,400,4 + {"amount": 600, "name": "Bob"} - Edith,500,5 + {"amount": 700, "name": "Charlie"} - Frank,600,6 + {"amount": 800, "name": "Dennis"} --==0==--' @@ -406,23 +431,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594744016111152\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594744016111152&alt=media\",\n - \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744016111152\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CLCM2rSUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:56.110Z\",\n \"updated\": \"2020-07-14T16:26:56.110Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:56.110Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065173724384\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065173724384&alt=media\",\n + \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065173724384\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n + \ \"etag\": \"COCZnP31yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:13.724Z\",\n + \ \"updated\": \"2020-09-02T16:46:13.724Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:13.724Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CLCM2rSUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - COCZnP31yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -433,7 +467,7 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-01.csv"} + {"name": "2014-01-03.csv"} --==0== @@ -442,11 +476,11 @@ interactions: name,amount,id - Alice,100,1 + Dennis,400,4 - Bob,200,2 + Edith,500,5 - Charlie,300,3 + Frank,600,6 --==0==--' @@ -457,23 +491,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1594744016155064\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594744016155064&alt=media\",\n - \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744016155064\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CLjj3LSUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:56.154Z\",\n \"updated\": \"2020-07-14T16:26:56.154Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:56.154Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065173938791\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065173938791&alt=media\",\n + \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065173938791\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"COekqf31yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:13.938Z\",\n \"updated\": \"2020-09-02T16:46:13.938Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:13.938Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CLjj3LSUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - COekqf31yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -484,15 +526,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/file1"} + {"name": "nested/file2"} --==0== Content-Type: application/octet-stream - hello - + world --==0==--' headers: @@ -502,23 +543,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1594744016167861\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594744016167861&alt=media\",\n - \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744016167861\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CLXH3bSUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:56.167Z\",\n \"updated\": \"2020-07-14T16:26:56.167Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:56.167Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065174665191\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065174665191&alt=media\",\n + \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065174665191\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"COfP1f31yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:14.665Z\",\n \"updated\": \"2020-09-02T16:46:14.665Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:14.665Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CLXH3bSUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - COfP1f31yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -529,7 +578,7 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/nested2/file1"} + {"name": "nested/file1"} --==0== @@ -547,24 +596,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594744016191070\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594744016191070&alt=media\",\n - \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744016191070\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n \"crc32c\": \"NT3Yvg==\",\n - \ \"etag\": \"CN783rSUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:56.190Z\",\n - \ \"updated\": \"2020-07-14T16:26:56.190Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:56.190Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065174702365\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065174702365&alt=media\",\n + \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065174702365\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CJ3y1/31yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:14.702Z\",\n \"updated\": \"2020-09-02T16:46:14.702Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:14.702Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: CN783rSUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CJ3y1/31yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -576,23 +632,30 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594744015918570\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065173567479\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594744015918570&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065173567479&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744015918570\",\n \"metageneration\": \"1\",\n \"contentType\": + \ \"generation\": \"1599065173567479\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"COqrzrSUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:26:55.918Z\",\n - \ \"updated\": \"2020-07-14T16:26:55.918Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:26:55.918Z\"\n}\n" + \ \"etag\": \"CPfPkv31yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:46:13.567Z\",\n + \ \"updated\": \"2020-09-02T16:46:13.567Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:46:13.567Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: COqrzrSUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CPfPkv31yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -603,7 +666,7 @@ interactions: Range: - bytes=1-132 method: GET - uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?alt=media&generation=1594744015918570 + uri: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?alt=media&generation=1599065173567479 response: body: string: '"amount": 100, "name": "Alice"} @@ -616,185 +679,149 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '132' - Content-Range: bytes 1-132/133 - Content-Type: application/octet-stream - Etag: COqrzrSUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594744015918570' - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '132' + Content-Range: + - bytes 1-132/133 + Content-Type: + - application/octet-stream + Etag: + - CPfPkv31yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065173567479' + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 206 message: Partial Content - url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594744015918570&alt=media + url: https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065173567479&alt=media - request: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/\",\n - \ \"test/\"\n ],\n \"items\": [\n {\n \"kind\": \"storage#object\",\n - \ \"id\": \"gcsfs-testing/2014-01-01.csv/1594744016155064\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594744016155064&alt=media\",\n + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065173630655\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065173630655&alt=media\",\n \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744016155064\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065173630655\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CLjj3LSUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:56.154Z\",\n \"updated\": \"2020-07-14T16:26:56.154Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:56.154Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594744016092655\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CL+9lv31yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:13.630Z\",\n \"updated\": \"2020-09-02T16:46:13.630Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:13.630Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065173644466\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594744016092655&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065173644466&alt=media\",\n \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744016092655\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065173644466\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CO/72LSUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:56.092Z\",\n \"updated\": \"2020-07-14T16:26:56.092Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:56.092Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594744016111152\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CLKpl/31yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:13.644Z\",\n \"updated\": \"2020-09-02T16:46:13.644Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:13.644Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065173938791\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594744016111152&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065173938791&alt=media\",\n \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744016111152\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065173938791\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CLCM2rSUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:56.110Z\",\n \"updated\": \"2020-07-14T16:26:56.110Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:56.110Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '2605' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/nested2/\"\n - \ ],\n \"items\": [\n {\n \"kind\": \"storage#object\",\n \"id\": - \"gcsfs-testing/nested/file1/1594744016167861\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594744016167861&alt=media\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"COekqf31yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:13.938Z\",\n \"updated\": \"2020-09-02T16:46:13.938Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:13.938Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065174702365\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065174702365&alt=media\",\n \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744016167861\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065174702365\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CLXH3bSUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:56.167Z\",\n \"updated\": \"2020-07-14T16:26:56.167Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:56.167Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594744016093537\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CJ3y1/31yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:14.702Z\",\n \"updated\": \"2020-09-02T16:46:14.702Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:14.702Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065174665191\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594744016093537&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065174665191&alt=media\",\n \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744016093537\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065174665191\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"COGC2bSUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:56.093Z\",\n \"updated\": \"2020-07-14T16:26:56.093Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:56.093Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1754' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2Fnested2%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594744016191070\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"COfP1f31yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:14.665Z\",\n \"updated\": \"2020-09-02T16:46:14.665Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:14.665Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065173678122\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594744016191070&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065173678122&alt=media\",\n \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744016191070\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065173678122\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CN783rSUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:56.190Z\",\n \"updated\": \"2020-07-14T16:26:56.190Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:56.190Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594744016014756\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CKqwmf31yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:13.678Z\",\n \"updated\": \"2020-09-02T16:46:13.678Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:13.678Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065173713844\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594744016014756&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065173713844&alt=media\",\n \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744016014756\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065173713844\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CKSb1LSUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:56.014Z\",\n \"updated\": \"2020-07-14T16:26:56.014Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:56.014Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1783' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/nested2/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=test%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594744015918570\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CLTHm/31yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:13.713Z\",\n \"updated\": \"2020-09-02T16:46:13.713Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:13.713Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065173567479\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594744015918570&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065173567479&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744015918570\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065173567479\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n - \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"COqrzrSUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:55.918Z\",\n \"updated\": \"2020-07-14T16:26:55.918Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:55.918Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594744016040208\",\n + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CPfPkv31yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:13.567Z\",\n \"updated\": \"2020-09-02T16:46:13.567Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:13.567Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065173724384\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594744016040208&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065173724384&alt=media\",\n \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594744016040208\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065173724384\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n - \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CJDi1bSUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:26:56.040Z\",\n \"updated\": \"2020-07-14T16:26:56.040Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:26:56.040Z\"\n }\n ]\n}\n" + \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"COCZnP31yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:13.724Z\",\n \"updated\": \"2020-09-02T16:46:13.724Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:13.724Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1779' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '7647' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=test/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -968,36 +995,47 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_ah9XiQpx0dI_AATdz4ndRDs\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_EKvtygGqj5s_AAI6o_89T7E\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:26:57 GMT\r\n\r\n\r\n--batch_ah9XiQpx0dI_AATdz4ndRDs\r\nContent-Type: + Wed, 02 Sep 2020 16:46:15 GMT\r\n\r\n\r\n--batch_EKvtygGqj5s_AAI6o_89T7E\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:57 GMT\r\n\r\n\r\n--batch_ah9XiQpx0dI_AATdz4ndRDs\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:15 GMT\r\n\r\n\r\n--batch_EKvtygGqj5s_AAI6o_89T7E\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:57 GMT\r\n\r\n\r\n--batch_ah9XiQpx0dI_AATdz4ndRDs\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:15 GMT\r\n\r\n\r\n--batch_EKvtygGqj5s_AAI6o_89T7E\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:57 GMT\r\n\r\n\r\n--batch_ah9XiQpx0dI_AATdz4ndRDs\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:15 GMT\r\n\r\n\r\n--batch_EKvtygGqj5s_AAI6o_89T7E\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:57 GMT\r\n\r\n\r\n--batch_ah9XiQpx0dI_AATdz4ndRDs\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:15 GMT\r\n\r\n\r\n--batch_EKvtygGqj5s_AAI6o_89T7E\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:57 GMT\r\n\r\n\r\n--batch_ah9XiQpx0dI_AATdz4ndRDs\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:15 GMT\r\n\r\n\r\n--batch_EKvtygGqj5s_AAI6o_89T7E\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:57 GMT\r\n\r\n\r\n--batch_ah9XiQpx0dI_AATdz4ndRDs\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:15 GMT\r\n\r\n\r\n--batch_EKvtygGqj5s_AAI6o_89T7E\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:57 GMT\r\n\r\n\r\n--batch_ah9XiQpx0dI_AATdz4ndRDs\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:15 GMT\r\n\r\n\r\n--batch_EKvtygGqj5s_AAI6o_89T7E\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:26:57 GMT\r\n\r\n\r\n--batch_ah9XiQpx0dI_AATdz4ndRDs--\r\n" + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:46:15 GMT\r\n\r\n\r\n--batch_EKvtygGqj5s_AAI6o_89T7E--\r\n" headers: - Cache-Control: private, max-age=0 - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_ah9XiQpx0dI_AATdz4ndRDs - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - private, max-age=0 + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_EKvtygGqj5s_AAI6o_89T7E + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_seekable.yaml b/gcsfs/tests/recordings/test_seekable.yaml index b1a71d95..b2dcd76e 100644 --- a/gcsfs/tests/recordings/test_seekable.yaml +++ b/gcsfs/tests/recordings/test_seekable.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAAfdDV8C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULnc10s6+NTiHzLPQE7Oe - lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmy2MdaQFzKYIER1hZ9z1LKwqTjyJe8iNX8vEWSh - mtQplYMfgl/hWV4/ywdCxTr64P+/HB9GPeS/4wAAAA== + H4sIAHrMT18C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULne1I82+NTiHzLPQE7Oe + lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmzWRWr+XiLIQjWpk8rBqyuqMdaQFzKYIMTL+SlJ + LQubiiMPwa/wLK+f5QOhYh198P9fjg+YY4lN4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:52.828Z\",\n \"updated\": \"2020-07-14T16:27:52.828Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: null @@ -152,10 +136,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUkTFjFLZlP3a0ZDdPXwfkL6govCB1BsSjRbR2AQI6EW96BiuVGGcNDeSvf9kpKbshZqeoyCECDIRK16sDgHybs + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uy2FG6L1l07eVu--4FGYqgRgjvCypReMSKPLD6Z6xcY65mXw8rCYjuiOreiJvdkCuWF0ypMCAFvlI3z-CnnExb39VBJBw Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -170,30 +154,38 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUkTFjFLZlP3a0ZDdPXwfkL6govCB1BsSjRbR2AQI6EW96BiuVGGcNDeSvf9kpKbshZqeoyCECDIRK16sDgHybs + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uy2FG6L1l07eVu--4FGYqgRgjvCypReMSKPLD6Z6xcY65mXw8rCYjuiOreiJvdkCuWF0ypMCAFvlI3z-CnnExb39VBJBw response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594744073672393\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065211818353\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744073672393&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065211818353&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744073672393\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065211818353\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n - \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CMmtk9CUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:53.672Z\",\n \"updated\": \"2020-07-14T16:27:53.672Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:53.672Z\"\n}\n" + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CPGisY/2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:51.818Z\",\n \"updated\": \"2020-09-02T16:46:51.818Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:51.818Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '750' - Content-Type: application/json; charset=UTF-8 - Etag: CMmtk9CUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '746' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CPGisY/2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUkTFjFLZlP3a0ZDdPXwfkL6govCB1BsSjRbR2AQI6EW96BiuVGGcNDeSvf9kpKbshZqeoyCECDIRK16sDgHybs + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uy2FG6L1l07eVu--4FGYqgRgjvCypReMSKPLD6Z6xcY65mXw8rCYjuiOreiJvdkCuWF0ypMCAFvlI3z-CnnExb39VBJBw - request: body: null headers: {} @@ -201,22 +193,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594744073672393\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065211818353\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744073672393&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065211818353&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744073672393\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065211818353\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n - \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CMmtk9CUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:53.672Z\",\n \"updated\": \"2020-07-14T16:27:53.672Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:53.672Z\"\n}\n" + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CPGisY/2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:51.818Z\",\n \"updated\": \"2020-09-02T16:46:51.818Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:51.818Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '750' - Content-Type: application/json; charset=UTF-8 - Etag: CMmtk9CUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '746' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CPGisY/2yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -225,68 +224,36 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"tmp/\"\n - \ ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '64' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=tmp%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"tmp/test/\"\n - \ ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '69' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=tmp/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=tmp%2Ftest%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594744073672393\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065211818353\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744073672393&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065211818353&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744073672393\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599065211818353\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n \"crc32c\": - \"AAAAAA==\",\n \"etag\": \"CMmtk9CUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:53.672Z\",\n \"updated\": \"2020-07-14T16:27:53.672Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:53.672Z\"\n }\n ]\n}\n" + \"AAAAAA==\",\n \"etag\": \"CPGisY/2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:51.818Z\",\n \"updated\": \"2020-09-02T16:46:51.818Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:51.818Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '876' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '872' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=tmp/test/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -316,21 +283,33 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_QztjHDPNXb8_AAMjCtXzEXo\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_thjIRZOWCs4_AAGzVVBTHRU\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:27:54 GMT\r\n\r\n\r\n--batch_QztjHDPNXb8_AAMjCtXzEXo--\r\n" + Wed, 02 Sep 2020 16:46:52 GMT\r\n\r\n\r\n--batch_thjIRZOWCs4_AAGzVVBTHRU--\r\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_QztjHDPNXb8_AAMjCtXzEXo - Pragma: no-cache - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_thjIRZOWCs4_AAGzVVBTHRU + Pragma: + - no-cache + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_simple.yaml b/gcsfs/tests/recordings/test_simple.yaml index 46e7dbb4..7439c8bb 100644 --- a/gcsfs/tests/recordings/test_simple.yaml +++ b/gcsfs/tests/recordings/test_simple.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIADHcDV8C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULnc10s6+NTiHzLPQE7Oe - lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmzWRWr+XiLIQjWpK/yco5aFTcWRL/nGWENeyGCC - ENUplYMfgl/hWV4/ywdCxTr64P+/HB90ZZ3Z4wAAAA== + H4sIAPTLT18C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP + Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTbrIjV/LxFkoZrU2crBq6vWuUotC5uKQ1/mG2MN + eSGDCUIcgF/gWV4/ygdCxTr84P+/HB99IHep4wAAAA== headers: Cache-Control: - private @@ -53,11 +53,17 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -71,11 +77,17 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_simple_upload.yaml b/gcsfs/tests/recordings/test_simple_upload.yaml index a23c62da..c1ee51a2 100644 --- a/gcsfs/tests/recordings/test_simple_upload.yaml +++ b/gcsfs/tests/recordings/test_simple_upload.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIADPcDV8C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP - Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTbbGGvICxlMEKI6Wzl4ddU6V6llYVNx6Mu8i9T8 - vUSQhWoagF/gWV4/ygdCxTr84P+/HB+YzFqe4wAAAA== + H4sIAPjLT18C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP + Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTbbGGvICxlMEKK6irtIzd9LBFmoJnWO5OAvWyck + tSxsKg49AL/As7x+lA+EinX4wf9/OT4eaDG04wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:21.482Z\",\n \"updated\": \"2020-07-14T16:24:21.482Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: null @@ -152,10 +136,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUmFYiGUy_uJ8DUdO-zMUxByZEDH-Ho-JH62qwjluDDpD2I5hfJficmpqvsLK5Lj5jLzcL4lYNdxqTY0fleDHUpPJ58oMA + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UwLR1YVhkopoOgPb70UjzHG2EcgT8QQ3nCcq5C1gvWKtOeExIRe_N6LUyQjU5K_2_v8NxUvDg-M6yXOory9Fg Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -170,30 +154,38 @@ interactions: Content-Type: - text/plain method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUmFYiGUy_uJ8DUdO-zMUxByZEDH-Ho-JH62qwjluDDpD2I5hfJficmpqvsLK5Lj5jLzcL4lYNdxqTY0fleDHUpPJ58oMA + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UwLR1YVhkopoOgPb70UjzHG2EcgT8QQ3nCcq5C1gvWKtOeExIRe_N6LUyQjU5K_2_v8NxUvDg-M6yXOory9Fg response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/1594743862473167\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/1599065081420407\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test?generation=1594743862473167&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test?generation=1599065081420407&alt=media\",\n \ \"name\": \"test\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743862473167\",\n \"metageneration\": \"1\",\n \"contentType\": \"text/plain\",\n + \"1599065081420407\",\n \"metageneration\": \"1\",\n \"contentType\": \"text/plain\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"2\",\n \"md5Hash\": \"Je0by0I7C3IA9IX8X/ccjg==\",\n - \ \"crc32c\": \"7hMsNg==\",\n \"etag\": \"CM/juOuTzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:22.473Z\",\n \"updated\": \"2020-07-14T16:24:22.473Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:24:22.473Z\"\n}\n" + \ \"crc32c\": \"7hMsNg==\",\n \"etag\": \"CPe0mtH1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:44:41.420Z\",\n \"updated\": \"2020-09-02T16:44:41.420Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:44:41.420Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '704' - Content-Type: application/json; charset=UTF-8 - Etag: CM/juOuTzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '700' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CPe0mtH1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUmFYiGUy_uJ8DUdO-zMUxByZEDH-Ho-JH62qwjluDDpD2I5hfJficmpqvsLK5Lj5jLzcL4lYNdxqTY0fleDHUpPJ58oMA + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UwLR1YVhkopoOgPb70UjzHG2EcgT8QQ3nCcq5C1gvWKtOeExIRe_N6LUyQjU5K_2_v8NxUvDg-M6yXOory9Fg - request: body: null headers: @@ -208,10 +200,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUn2KhD2ZVdcsafq0KFvg_ETEAXswjBPerzsAalumA5Wuj-h52b9T-wJQupuZeRbV551Of8bsjhUbMs0BIu5oqcVd0o8DA + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxC8NdZyJB2s9BUc3kEP6XG0bvLk6LWj0Px_n4QSFEHjbMYwiaSsDb9dC7E3HjjfHyu6SW9gGBocDgaHnTQFg Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -226,30 +218,38 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUn2KhD2ZVdcsafq0KFvg_ETEAXswjBPerzsAalumA5Wuj-h52b9T-wJQupuZeRbV551Of8bsjhUbMs0BIu5oqcVd0o8DA + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxC8NdZyJB2s9BUc3kEP6XG0bvLk6LWj0Px_n4QSFEHjbMYwiaSsDb9dC7E3HjjfHyu6SW9gGBocDgaHnTQFg response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/1594743863374217\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/1599065082138782\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test?generation=1594743863374217&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test?generation=1599065082138782&alt=media\",\n \ \"name\": \"test\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743863374217\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065082138782\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"2\",\n \"md5Hash\": \"Je0by0I7C3IA9IX8X/ccjg==\",\n - \ \"crc32c\": \"7hMsNg==\",\n \"etag\": \"CInj7+uTzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:23.374Z\",\n \"updated\": \"2020-07-14T16:24:23.374Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:24:23.374Z\"\n}\n" + \ \"crc32c\": \"7hMsNg==\",\n \"etag\": \"CJ6hxtH1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:44:42.138Z\",\n \"updated\": \"2020-09-02T16:44:42.138Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:44:42.138Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '718' - Content-Type: application/json; charset=UTF-8 - Etag: CInj7+uTzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '714' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CJ6hxtH1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUn2KhD2ZVdcsafq0KFvg_ETEAXswjBPerzsAalumA5Wuj-h52b9T-wJQupuZeRbV551Of8bsjhUbMs0BIu5oqcVd0o8DA + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxC8NdZyJB2s9BUc3kEP6XG0bvLk6LWj0Px_n4QSFEHjbMYwiaSsDb9dC7E3HjjfHyu6SW9gGBocDgaHnTQFg - request: body: null headers: {} @@ -259,18 +259,31 @@ interactions: body: string: zz headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '2' - Content-Type: application/octet-stream - Etag: CInj7+uTzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1594743863374217' - X-Goog-Hash: crc32c=7hMsNg==,md5=Je0by0I7C3IA9IX8X/ccjg== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '2' + Content-Type: + - application/octet-stream + Etag: + - CJ6hxtH1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1599065082138782' + X-Goog-Hash: + - crc32c=7hMsNg==,md5=Je0by0I7C3IA9IX8X/ccjg== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK @@ -279,30 +292,36 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/test/1594743863374217\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/test/1599065082138782\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test?generation=1594743863374217&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test?generation=1599065082138782&alt=media\",\n \ \"name\": \"test\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743863374217\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599065082138782\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"2\",\n \"md5Hash\": \"Je0by0I7C3IA9IX8X/ccjg==\",\n \"crc32c\": - \"7hMsNg==\",\n \"etag\": \"CInj7+uTzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:24:23.374Z\",\n \"updated\": \"2020-07-14T16:24:23.374Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:24:23.374Z\"\n }\n ]\n}\n" + \"7hMsNg==\",\n \"etag\": \"CJ6hxtH1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:44:42.138Z\",\n \"updated\": \"2020-09-02T16:44:42.138Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:44:42.138Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '844' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '840' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -332,21 +351,33 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_HuwVXgJo9mI_AAbs3xZSOfc\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_NntaRecTGgY_AACvbPaadKA\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:24:24 GMT\r\n\r\n\r\n--batch_HuwVXgJo9mI_AAbs3xZSOfc--\r\n" + Wed, 02 Sep 2020 16:44:42 GMT\r\n\r\n\r\n--batch_NntaRecTGgY_AACvbPaadKA--\r\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_HuwVXgJo9mI_AAbs3xZSOfc - Pragma: no-cache - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_NntaRecTGgY_AACvbPaadKA + Pragma: + - no-cache + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_url.yaml b/gcsfs/tests/recordings/test_url.yaml index ac96ab01..116d793e 100644 --- a/gcsfs/tests/recordings/test_url.yaml +++ b/gcsfs/tests/recordings/test_url.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAIfcDV8C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP - Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTbbGGvICxlMEKI6Wzl4ddU6V6llYVNx6Mu8i9T8 - vUSQhWoagF/gWV4/ygdCxTr84P+/HB+YzFqe4wAAAA== + H4sIAC7MT18C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULne1I82+NTiHzLPQE7Oe + lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmy2MdaQFzKYIER1Ujl4dUW5SM3fSwRZqKbL+SlJ + LQubiiMPwa/wLK+f5QOhYh198P9fjg9b1v+I4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:44.983Z\",\n \"updated\": \"2020-07-14T16:25:44.983Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: '--==0== @@ -144,20 +128,20 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "test/accounts.2.json"} + {"name": "test/accounts.1.json"} --==0== Content-Type: application/octet-stream - {"amount": 500, "name": "Alice"} + {"amount": 100, "name": "Alice"} - {"amount": 600, "name": "Bob"} + {"amount": 200, "name": "Bob"} - {"amount": 700, "name": "Charlie"} + {"amount": 300, "name": "Charlie"} - {"amount": 800, "name": "Dennis"} + {"amount": 400, "name": "Dennis"} --==0==--' @@ -168,24 +152,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594743945290164\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594743945290164&alt=media\",\n - \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743945290164\",\n \"metageneration\": \"1\",\n \"contentType\": + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065135263128\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065135263128&alt=media\",\n + \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065135263128\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n - \ \"etag\": \"CLTD95KUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:25:45.289Z\",\n - \ \"updated\": \"2020-07-14T16:25:45.289Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:25:45.289Z\"\n}\n" + \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n + \ \"etag\": \"CJjb8Or1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:35.262Z\",\n + \ \"updated\": \"2020-09-02T16:45:35.262Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:35.262Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CLTD95KUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CJjb8Or1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -196,14 +188,20 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/file1"} + {"name": "test/accounts.2.json"} --==0== Content-Type: application/octet-stream - hello + {"amount": 500, "name": "Alice"} + + {"amount": 600, "name": "Bob"} + + {"amount": 700, "name": "Charlie"} + + {"amount": 800, "name": "Dennis"} --==0==--' @@ -214,23 +212,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1594743945291019\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594743945291019&alt=media\",\n - \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743945291019\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CIvK95KUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:45.290Z\",\n \"updated\": \"2020-07-14T16:25:45.290Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:45.290Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065135340865\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065135340865&alt=media\",\n + \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065135340865\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n \"crc32c\": \"Su+F+g==\",\n + \ \"etag\": \"CMG69er1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:35.340Z\",\n + \ \"updated\": \"2020-09-02T16:45:35.340Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:35.340Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CIvK95KUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '784' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CMG69er1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -241,20 +248,20 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "test/accounts.1.json"} + {"name": "2014-01-01.csv"} --==0== Content-Type: application/octet-stream - {"amount": 100, "name": "Alice"} + name,amount,id - {"amount": 200, "name": "Bob"} + Alice,100,1 - {"amount": 300, "name": "Charlie"} + Bob,200,2 - {"amount": 400, "name": "Dennis"} + Charlie,300,3 --==0==--' @@ -265,24 +272,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594743945297597\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594743945297597&alt=media\",\n - \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743945297597\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n \"crc32c\": \"6wJAgQ==\",\n - \ \"etag\": \"CL3995KUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:25:45.297Z\",\n - \ \"updated\": \"2020-07-14T16:25:45.297Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:25:45.297Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065135357099\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065135357099&alt=media\",\n + \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065135357099\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CKu59ur1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:35.356Z\",\n \"updated\": \"2020-09-02T16:45:35.356Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:35.356Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '788' - Content-Type: application/json; charset=UTF-8 - Etag: CL3995KUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CKu59ur1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -293,14 +307,15 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/nested2/file2"} + {"name": "2014-01-02.csv"} --==0== Content-Type: application/octet-stream - world + name,amount,id + --==0==--' headers: @@ -310,24 +325,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594743945313863\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594743945313863&alt=media\",\n - \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743945313863\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n \"crc32c\": \"MaqBTg==\",\n - \ \"etag\": \"CMf8+JKUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:25:45.313Z\",\n - \ \"updated\": \"2020-07-14T16:25:45.313Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:25:45.313Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065135379967\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065135379967&alt=media\",\n + \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065135379967\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CP/r9+r1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:35.379Z\",\n \"updated\": \"2020-09-02T16:45:35.379Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:35.379Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: CMf8+JKUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CP/r9+r1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -338,14 +360,20 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/nested2/file1"} + {"name": "2014-01-03.csv"} --==0== Content-Type: application/octet-stream - hello + name,amount,id + + Dennis,400,4 + + Edith,500,5 + + Frank,600,6 --==0==--' @@ -356,24 +384,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594743945385235\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594743945385235&alt=media\",\n - \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743945385235\",\n \"metageneration\": \"1\",\n \"contentType\": - \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": - \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n \"crc32c\": \"NT3Yvg==\",\n - \ \"etag\": \"CJOq/ZKUzeoCEAE=\",\n \"timeCreated\": \"2020-07-14T16:25:45.385Z\",\n - \ \"updated\": \"2020-07-14T16:25:45.385Z\",\n \"timeStorageClassUpdated\": - \"2020-07-14T16:25:45.385Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065135522233\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065135522233&alt=media\",\n + \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065135522233\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CLnDgOv1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:35.522Z\",\n \"updated\": \"2020-09-02T16:45:35.522Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:35.522Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '790' - Content-Type: application/json; charset=UTF-8 - Etag: CJOq/ZKUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '755' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CLnDgOv1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -384,14 +419,15 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "nested/file2"} + {"name": "nested/nested2/file1"} --==0== Content-Type: application/octet-stream - world + hello + --==0==--' headers: @@ -401,23 +437,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594743945391882\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594743945391882&alt=media\",\n - \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743945391882\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CIre/ZKUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:45.391Z\",\n \"updated\": \"2020-07-14T16:25:45.391Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:45.391Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065136369001\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065136369001&alt=media\",\n + \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065136369001\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n \"crc32c\": \"NT3Yvg==\",\n + \ \"etag\": \"COmatOv1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:36.368Z\",\n + \ \"updated\": \"2020-09-02T16:45:36.368Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:36.368Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CIre/ZKUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - COmatOv1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -428,21 +473,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-01.csv"} + {"name": "nested/file2"} --==0== Content-Type: application/octet-stream - name,amount,id - - Alice,100,1 - - Bob,200,2 - - Charlie,300,3 - + world --==0==--' headers: @@ -452,23 +490,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1594743945401666\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594743945401666&alt=media\",\n - \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743945401666\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CMKq/pKUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:45.401Z\",\n \"updated\": \"2020-07-14T16:25:45.401Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:45.401Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065136383236\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065136383236&alt=media\",\n + \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065136383236\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CISKtev1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:36.383Z\",\n \"updated\": \"2020-09-02T16:45:36.383Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:36.383Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CMKq/pKUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CISKtev1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -479,20 +525,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-03.csv"} + {"name": "nested/file1"} --==0== Content-Type: application/octet-stream - name,amount,id - - Dennis,400,4 - - Edith,500,5 - - Frank,600,6 + hello --==0==--' @@ -503,23 +543,31 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594743946406126\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594743946406126&alt=media\",\n - \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743946406126\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CO7Ru5OUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:46.405Z\",\n \"updated\": \"2020-07-14T16:25:46.405Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:46.405Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065136399353\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065136399353&alt=media\",\n + \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599065136399353\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CPmHtuv1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:36.399Z\",\n \"updated\": \"2020-09-02T16:45:36.399Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:36.399Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CO7Ru5OUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CPmHtuv1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -530,15 +578,14 @@ interactions: Content-Type: application/json; charset=UTF-8 - {"name": "2014-01-02.csv"} + {"name": "nested/nested2/file2"} --==0== Content-Type: application/octet-stream - name,amount,id - + world --==0==--' headers: @@ -548,23 +595,32 @@ interactions: uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=multipart response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594743946480300\",\n - \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594743946480300&alt=media\",\n - \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743946480300\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n - \ \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CKyVwJOUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:46.480Z\",\n \"updated\": \"2020-07-14T16:25:46.480Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:46.480Z\"\n}\n" + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065136400684\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065136400684&alt=media\",\n + \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n + \ \"generation\": \"1599065136400684\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n \"crc32c\": \"MaqBTg==\",\n + \ \"etag\": \"CKyStuv1yusCEAE=\",\n \"timeCreated\": \"2020-09-02T16:45:36.400Z\",\n + \ \"updated\": \"2020-09-02T16:45:36.400Z\",\n \"timeStorageClassUpdated\": + \"2020-09-02T16:45:36.400Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '759' - Content-Type: application/json; charset=UTF-8 - Etag: CKyVwJOUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '786' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CKyStuv1yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -576,22 +632,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1 response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1594743945291019\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065136399353\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594743945291019&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065136399353&alt=media\",\n \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594743945291019\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065136399353\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CIvK95KUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:45.290Z\",\n \"updated\": \"2020-07-14T16:25:45.290Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:45.290Z\"\n}\n" + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CPmHtuv1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:36.399Z\",\n \"updated\": \"2020-09-02T16:45:36.399Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:36.399Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '754' - Content-Type: application/json; charset=UTF-8 - Etag: CIvK95KUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '750' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CPmHtuv1yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -600,165 +663,116 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/\",\n - \ \"test/\"\n ],\n \"items\": [\n {\n \"kind\": \"storage#object\",\n - \ \"id\": \"gcsfs-testing/2014-01-01.csv/1594743945401666\",\n \"selfLink\": - \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1594743945401666&alt=media\",\n + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-01.csv/1599065135357099\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-01.csv\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-01.csv?generation=1599065135357099&alt=media\",\n \ \"name\": \"2014-01-01.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743945401666\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065135357099\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"51\",\n \"md5Hash\": \"Auycd2AT7x5m8G1W0NXcuA==\",\n - \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CMKq/pKUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:45.401Z\",\n \"updated\": \"2020-07-14T16:25:45.401Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:45.401Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1594743946480300\",\n + \ \"crc32c\": \"yR1u0w==\",\n \"etag\": \"CKu59ur1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:35.356Z\",\n \"updated\": \"2020-09-02T16:45:35.356Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:35.356Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-02.csv/1599065135379967\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-02.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1594743946480300&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-02.csv?generation=1599065135379967&alt=media\",\n \ \"name\": \"2014-01-02.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743946480300\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065135379967\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"15\",\n \"md5Hash\": \"cGwL6TebGKiJzgyNBJNb6Q==\",\n - \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CKyVwJOUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:46.480Z\",\n \"updated\": \"2020-07-14T16:25:46.480Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:46.480Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1594743946406126\",\n + \ \"crc32c\": \"Mpt4QQ==\",\n \"etag\": \"CP/r9+r1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:35.379Z\",\n \"updated\": \"2020-09-02T16:45:35.379Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:35.379Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/2014-01-03.csv/1599065135522233\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/2014-01-03.csv\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1594743946406126&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/2014-01-03.csv?generation=1599065135522233&alt=media\",\n \ \"name\": \"2014-01-03.csv\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743946406126\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065135522233\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"52\",\n \"md5Hash\": \"9keZXdUu0YtMynECFSOiMg==\",\n - \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CO7Ru5OUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:46.405Z\",\n \"updated\": \"2020-07-14T16:25:46.405Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:46.405Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '2605' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"nested/nested2/\"\n - \ ],\n \"items\": [\n {\n \"kind\": \"storage#object\",\n \"id\": - \"gcsfs-testing/nested/file1/1594743945291019\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1594743945291019&alt=media\",\n + \ \"crc32c\": \"x/fq7w==\",\n \"etag\": \"CLnDgOv1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:35.522Z\",\n \"updated\": \"2020-09-02T16:45:35.522Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:35.522Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file1/1599065136399353\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile1?generation=1599065136399353&alt=media\",\n \ \"name\": \"nested/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743945291019\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065136399353\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CIvK95KUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:45.290Z\",\n \"updated\": \"2020-07-14T16:25:45.290Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:45.290Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1594743945391882\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CPmHtuv1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:36.399Z\",\n \"updated\": \"2020-09-02T16:45:36.399Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:36.399Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/file2/1599065136383236\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1594743945391882&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Ffile2?generation=1599065136383236&alt=media\",\n \ \"name\": \"nested/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743945391882\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065136383236\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CIre/ZKUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:45.391Z\",\n \"updated\": \"2020-07-14T16:25:45.391Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:45.391Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1754' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=nested%2Fnested2%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1594743945385235\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CISKtev1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:36.383Z\",\n \"updated\": \"2020-09-02T16:45:36.383Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:36.383Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file1/1599065136369001\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1594743945385235&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile1?generation=1599065136369001&alt=media\",\n \ \"name\": \"nested/nested2/file1\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743945385235\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065136369001\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"6\",\n \"md5Hash\": \"sZRqySSS0jR8YjW00mERhA==\",\n - \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"CJOq/ZKUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:45.385Z\",\n \"updated\": \"2020-07-14T16:25:45.385Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:45.385Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1594743945313863\",\n + \ \"crc32c\": \"NT3Yvg==\",\n \"etag\": \"COmatOv1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:36.368Z\",\n \"updated\": \"2020-09-02T16:45:36.368Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:36.368Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/nested/nested2/file2/1599065136400684\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1594743945313863&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/nested%2Fnested2%2Ffile2?generation=1599065136400684&alt=media\",\n \ \"name\": \"nested/nested2/file2\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743945313863\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065136400684\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"5\",\n \"md5Hash\": \"fXkwN6B2AYZXSwKC8vQ15w==\",\n - \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CMf8+JKUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:45.313Z\",\n \"updated\": \"2020-07-14T16:25:45.313Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:45.313Z\"\n }\n ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1783' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=nested/nested2/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=test%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1594743945297597\",\n + \ \"crc32c\": \"MaqBTg==\",\n \"etag\": \"CKyStuv1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:36.400Z\",\n \"updated\": \"2020-09-02T16:45:36.400Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:36.400Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.1.json/1599065135263128\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1594743945297597&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.1.json?generation=1599065135263128&alt=media\",\n \ \"name\": \"test/accounts.1.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743945297597\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065135263128\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"xK7pmJz/Oj5HGIyfQpYTig==\",\n - \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CL3995KUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:45.297Z\",\n \"updated\": \"2020-07-14T16:25:45.297Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:45.297Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1594743945290164\",\n + \ \"crc32c\": \"6wJAgQ==\",\n \"etag\": \"CJjb8Or1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:35.262Z\",\n \"updated\": \"2020-09-02T16:45:35.262Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:35.262Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/test/accounts.2.json/1599065135340865\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1594743945290164&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/test%2Faccounts.2.json?generation=1599065135340865&alt=media\",\n \ \"name\": \"test/accounts.2.json\",\n \"bucket\": \"gcsfs-testing\",\n - \ \"generation\": \"1594743945290164\",\n \"metageneration\": \"1\",\n + \ \"generation\": \"1599065135340865\",\n \"metageneration\": \"1\",\n \ \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"133\",\n \"md5Hash\": \"bjhC5OCrzKV+8MGMCF2BQA==\",\n - \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CLTD95KUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:25:45.289Z\",\n \"updated\": \"2020-07-14T16:25:45.289Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:25:45.289Z\"\n }\n ]\n}\n" + \ \"crc32c\": \"Su+F+g==\",\n \"etag\": \"CMG69er1yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:45:35.340Z\",\n \"updated\": \"2020-09-02T16:45:35.340Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:45:35.340Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '1779' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '7647' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=test/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -932,36 +946,47 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_nA4IyFSqXec_AAQP-C8E3GA\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_-aL6CvQyBdM_AAF1nCcMjGI\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:25:47 GMT\r\n\r\n\r\n--batch_nA4IyFSqXec_AAQP-C8E3GA\r\nContent-Type: + Wed, 02 Sep 2020 16:45:37 GMT\r\n\r\n\r\n--batch_-aL6CvQyBdM_AAF1nCcMjGI\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:47 GMT\r\n\r\n\r\n--batch_nA4IyFSqXec_AAQP-C8E3GA\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:37 GMT\r\n\r\n\r\n--batch_-aL6CvQyBdM_AAF1nCcMjGI\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:47 GMT\r\n\r\n\r\n--batch_nA4IyFSqXec_AAQP-C8E3GA\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:37 GMT\r\n\r\n\r\n--batch_-aL6CvQyBdM_AAF1nCcMjGI\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:47 GMT\r\n\r\n\r\n--batch_nA4IyFSqXec_AAQP-C8E3GA\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:37 GMT\r\n\r\n\r\n--batch_-aL6CvQyBdM_AAF1nCcMjGI\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:47 GMT\r\n\r\n\r\n--batch_nA4IyFSqXec_AAQP-C8E3GA\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:37 GMT\r\n\r\n\r\n--batch_-aL6CvQyBdM_AAF1nCcMjGI\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:47 GMT\r\n\r\n\r\n--batch_nA4IyFSqXec_AAQP-C8E3GA\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:37 GMT\r\n\r\n\r\n--batch_-aL6CvQyBdM_AAF1nCcMjGI\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:47 GMT\r\n\r\n\r\n--batch_nA4IyFSqXec_AAQP-C8E3GA\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:37 GMT\r\n\r\n\r\n--batch_-aL6CvQyBdM_AAF1nCcMjGI\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:47 GMT\r\n\r\n\r\n--batch_nA4IyFSqXec_AAQP-C8E3GA\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:37 GMT\r\n\r\n\r\n--batch_-aL6CvQyBdM_AAF1nCcMjGI\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Tue, 14 Jul 2020 16:25:47 GMT\r\n\r\n\r\n--batch_nA4IyFSqXec_AAQP-C8E3GA--\r\n" + 204 No Content\r\nDate: Wed, 02 Sep 2020 16:45:37 GMT\r\n\r\n\r\n--batch_-aL6CvQyBdM_AAF1nCcMjGI--\r\n" headers: - Cache-Control: private, max-age=0 - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_nA4IyFSqXec_AAQP-C8E3GA - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - private, max-age=0 + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_-aL6CvQyBdM_AAF1nCcMjGI + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_user_project_cat.yaml b/gcsfs/tests/recordings/test_user_project_cat.yaml index 6b9a90cb..0504db36 100644 --- a/gcsfs/tests/recordings/test_user_project_cat.yaml +++ b/gcsfs/tests/recordings/test_user_project_cat.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIACzdDV8C/4XPsQ7DIAwE0F9BzC3sGfsjkQVOggoYYSNSVfn3hnbqlPFON7x7a3AOmWehJ2Y9 - Kb3vu74pzY4KjryJFJ6s7b2blWiNCCWwcZQsNNlsY6whL2QwQYjqau4iNX8vEWShmi7np45aFjYV - R1YnKgc/gF/wLK+f8oFQsY4++P8vxwcIgekt4wAAAA== + H4sIAJLMT18C/4WPsQ7DIBBDfyVibmHP2B+JTnBJUIFD3CGoqvx7Qzt1ymTZsqzntwJrkXkRemJS + 86R67+o2KbaUcfhTknfTLpJ5Nqa1pjeiLSBkz9pSNFBlN+cM1SSsCw5/2a+MxaeVNEbw4bJuA1V3 + zwFkpRIH4Bd4kdeP8oFQsIzcu/8vxwdcFoAW4wAAAA== headers: Cache-Control: - private @@ -59,18 +59,31 @@ interactions: ' headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: attachment - Content-Length: '18' - Content-Type: text/csv - Etag: CMmwqaSUiOYCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - X-Goog-Generation: '1574780973766729' - X-Goog-Hash: crc32c=5AzbeQ==,md5=C+xb9vk8VHvJxndKyvheGg== - X-Goog-Metageneration: '1' - X-Goog-Storage-Class: STANDARD + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: + - attachment + Content-Length: + - '18' + Content-Type: + - text/csv + Etag: + - CMmwqaSUiOYCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin + X-Goog-Generation: + - '1574780973766729' + X-Goog-Hash: + - crc32c=5AzbeQ==,md5=C+xb9vk8VHvJxndKyvheGg== + X-Goog-Metageneration: + - '1' + X-Goog-Storage-Class: + - STANDARD status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_writable.yaml b/gcsfs/tests/recordings/test_writable.yaml index 83d37f70..ac4a1a5f 100644 --- a/gcsfs/tests/recordings/test_writable.yaml +++ b/gcsfs/tests/recordings/test_writable.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAArdDV8C/4WPsQ7DIBBDfyVibmHP2B+JTnBJUIFD3CGoqvx7Qzt1ymTZsqzntwJrkXkRemJS - 86R67+o2KbaUcfhTknfTLpJ5Nqa1pjeiLSBkz9pSNFBlN+cM1SSsCw5/2a+MxaeVNEbw4bJuA1V3 - zwFkpRIH4Bd4kdeP8oFQsIzcu/8vxwdcFoAW4wAAAA== + H4sIAHzMT18C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULnc1K82+NTiHzLPQE7Oe + lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmz23FPLwqbiyOqKb4w15IUMJgjxEneRmr+XCLJQ + TeqUysEPwa/wLK+f5QOhYh198P9fjg+z0wad4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:56.330Z\",\n \"updated\": \"2020-07-14T16:27:56.330Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: null @@ -152,10 +136,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUmhHflywsLunHkIkS2do7kYDz_5CO8Haa_eTdvyq1pc-Eae397ATnAwYiMn0jIBQaloxNF6N8tCWHnjFr-hSHc + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uy9kZBW7_OfpH8yY1mEyCrdTSzr0GZKXaSCylObiPQt2lltMKKTlMktT1CVUktfgN6qndNjSyalW1rTGbmTNTRSXdGp3A Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -170,30 +154,38 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUmhHflywsLunHkIkS2do7kYDz_5CO8Haa_eTdvyq1pc-Eae397ATnAwYiMn0jIBQaloxNF6N8tCWHnjFr-hSHc + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uy9kZBW7_OfpH8yY1mEyCrdTSzr0GZKXaSCylObiPQt2lltMKKTlMktT1CVUktfgN6qndNjSyalW1rTGbmTNTRSXdGp3A response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594744077272263\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065213762858\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744077272263&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065213762858&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744077272263\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065213762858\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n - \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CMeJ79GUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:57.272Z\",\n \"updated\": \"2020-07-14T16:27:57.272Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:57.272Z\"\n}\n" + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CKr6p5D2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:53.762Z\",\n \"updated\": \"2020-09-02T16:46:53.762Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:53.762Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '750' - Content-Type: application/json; charset=UTF-8 - Etag: CMeJ79GUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '746' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CKr6p5D2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUmhHflywsLunHkIkS2do7kYDz_5CO8Haa_eTdvyq1pc-Eae397ATnAwYiMn0jIBQaloxNF6N8tCWHnjFr-hSHc + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uy9kZBW7_OfpH8yY1mEyCrdTSzr0GZKXaSCylObiPQt2lltMKKTlMktT1CVUktfgN6qndNjSyalW1rTGbmTNTRSXdGp3A - request: body: null headers: {} @@ -201,22 +193,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594744077272263\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065213762858\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744077272263&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065213762858&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744077272263\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065213762858\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n - \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CMeJ79GUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:57.272Z\",\n \"updated\": \"2020-07-14T16:27:57.272Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:57.272Z\"\n}\n" + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CKr6p5D2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:53.762Z\",\n \"updated\": \"2020-09-02T16:46:53.762Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:53.762Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '750' - Content-Type: application/json; charset=UTF-8 - Etag: CMeJ79GUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '746' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CKr6p5D2yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -225,68 +224,36 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"tmp/\"\n - \ ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '64' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=tmp%2F - response: - body: - string: "{\n \"kind\": \"storage#objects\",\n \"prefixes\": [\n \"tmp/test/\"\n - \ ]\n}\n" - headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '69' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin - status: - code: 200 - message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=tmp/ -- request: - body: null - headers: {} - method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F&prefix=tmp%2Ftest%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1594744077272263\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/tmp/test/a/1599065213762858\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1594744077272263&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/tmp%2Ftest%2Fa?generation=1599065213762858&alt=media\",\n \ \"name\": \"tmp/test/a\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744077272263\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599065213762858\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n \"crc32c\": - \"AAAAAA==\",\n \"etag\": \"CMeJ79GUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:57.272Z\",\n \"updated\": \"2020-07-14T16:27:57.272Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:57.272Z\"\n }\n ]\n}\n" + \"AAAAAA==\",\n \"etag\": \"CKr6p5D2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:53.762Z\",\n \"updated\": \"2020-09-02T16:46:53.762Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:53.762Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '876' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '872' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/&prefix=tmp/test/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -316,21 +283,33 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_UcTlLfNhWaI_AAib2zsBQTg\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_vrqgocappe8_AAd14DR6Gqk\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:27:58 GMT\r\n\r\n\r\n--batch_UcTlLfNhWaI_AAib2zsBQTg--\r\n" + Wed, 02 Sep 2020 16:46:54 GMT\r\n\r\n\r\n--batch_vrqgocappe8_AAd14DR6Gqk--\r\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_UcTlLfNhWaI_AAib2zsBQTg - Pragma: no-cache - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_vrqgocappe8_AAd14DR6Gqk + Pragma: + - no-cache + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_write_blocks.yaml b/gcsfs/tests/recordings/test_write_blocks.yaml index 02b48ca4..2136d57c 100644 --- a/gcsfs/tests/recordings/test_write_blocks.yaml +++ b/gcsfs/tests/recordings/test_write_blocks.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAOHcDV8C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP - Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTbbGGvICxlMEKK6irtIzd9LBFmoJnWO5OAvWyck - tSxsKg49AL/As7x+lA+EinX4wf9/OT4eaDG04wAAAA== + H4sIAGLMT18C/4WPsQ7DIBBDfyVibmHP2B+JTnBJUIFD3CGoqvx7Qzt1ymTZsuTntwJrkXkRemJS + 86R67+o2KbaUcfhTknfTLpJ5Nqa1pjeiLSBkz9pSNFBlNzZQdfccQFYq8bJ+rlJNwrrg8Jf9ylh8 + WkljBB8G4Bd4kdeP8oFQsIzcu/8vxweqU72p4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:14.811Z\",\n \"updated\": \"2020-07-14T16:27:14.811Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: null @@ -152,16 +136,16 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUldgP12j9B4SrXDzgmL8W0VdLh2Gw7a5OSYzG6lf30gOnQZbFvGAmIzVjZMpCkC2_1tw33qY7yU1L2vkus7v6237pGIcg + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UyYaAuQaoJb-u2Ut_QWpHo0PkgqF99_81UycTsFCCAmYEwJdFEYJzRcuuTrnQ_l0-AtHGF4e8DP5kzX_pL6tY__M_Sj3w Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable - request: - body: null + body: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa headers: Accept: - '*/*' @@ -176,20 +160,25 @@ interactions: Host: - www.googleapis.com method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUldgP12j9B4SrXDzgmL8W0VdLh2Gw7a5OSYzG6lf30gOnQZbFvGAmIzVjZMpCkC2_1tw33qY7yU1L2vkus7v6237pGIcg + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UyYaAuQaoJb-u2Ut_QWpHo0PkgqF99_81UycTsFCCAmYEwJdFEYJzRcuuTrnQ_l0-AtHGF4e8DP5kzX_pL6tY__M_Sj3w response: body: string: '' headers: - Content-Length: '0' - Content-Type: text/plain; charset=utf-8 - Range: bytes=0-262143 - Server: UploadServer - X-Range-MD5: c946b71bb69c07daf25470742c967e7c + Content-Length: + - '0' + Content-Type: + - text/plain; charset=utf-8 + Range: + - bytes=0-262143 + Server: + - UploadServer + X-Range-MD5: + - c946b71bb69c07daf25470742c967e7c status: code: 308 message: Resume Incomplete - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUldgP12j9B4SrXDzgmL8W0VdLh2Gw7a5OSYzG6lf30gOnQZbFvGAmIzVjZMpCkC2_1tw33qY7yU1L2vkus7v6237pGIcg + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UyYaAuQaoJb-u2Ut_QWpHo0PkgqF99_81UycTsFCCAmYEwJdFEYJzRcuuTrnQ_l0-AtHGF4e8DP5kzX_pL6tY__M_Sj3w - request: body: null headers: @@ -206,20 +195,25 @@ interactions: Host: - www.googleapis.com method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUldgP12j9B4SrXDzgmL8W0VdLh2Gw7a5OSYzG6lf30gOnQZbFvGAmIzVjZMpCkC2_1tw33qY7yU1L2vkus7v6237pGIcg + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UyYaAuQaoJb-u2Ut_QWpHo0PkgqF99_81UycTsFCCAmYEwJdFEYJzRcuuTrnQ_l0-AtHGF4e8DP5kzX_pL6tY__M_Sj3w response: body: string: '' headers: - Content-Length: '0' - Content-Type: text/plain; charset=utf-8 - Range: bytes=0-262143 - Server: UploadServer - X-Range-MD5: c946b71bb69c07daf25470742c967e7c + Content-Length: + - '0' + Content-Type: + - text/plain; charset=utf-8 + Range: + - bytes=0-262143 + Server: + - UploadServer + X-Range-MD5: + - c946b71bb69c07daf25470742c967e7c status: code: 308 message: Resume Incomplete - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUldgP12j9B4SrXDzgmL8W0VdLh2Gw7a5OSYzG6lf30gOnQZbFvGAmIzVjZMpCkC2_1tw33qY7yU1L2vkus7v6237pGIcg + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UyYaAuQaoJb-u2Ut_QWpHo0PkgqF99_81UycTsFCCAmYEwJdFEYJzRcuuTrnQ_l0-AtHGF4e8DP5kzX_pL6tY__M_Sj3w - request: body: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa headers: @@ -230,30 +224,38 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUldgP12j9B4SrXDzgmL8W0VdLh2Gw7a5OSYzG6lf30gOnQZbFvGAmIzVjZMpCkC2_1tw33qY7yU1L2vkus7v6237pGIcg + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UyYaAuQaoJb-u2Ut_QWpHo0PkgqF99_81UycTsFCCAmYEwJdFEYJzRcuuTrnQ_l0-AtHGF4e8DP5kzX_pL6tY__M_Sj3w response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1594744036171824\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1599065187842128\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1594744036171824&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1599065187842128&alt=media\",\n \ \"name\": \"temp\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744036171824\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065187842128\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"300000\",\n \"md5Hash\": - \"knEtd8RvPud9esbKuk/iug==\",\n \"crc32c\": \"eRf+Fw==\",\n \"etag\": \"CLDAor6UzeoCEAE=\",\n - \ \"timeCreated\": \"2020-07-14T16:27:16.171Z\",\n \"updated\": \"2020-07-14T16:27:16.171Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:16.171Z\"\n}\n" + \"knEtd8RvPud9esbKuk/iug==\",\n \"crc32c\": \"eRf+Fw==\",\n \"etag\": \"CNDw+YP2yusCEAE=\",\n + \ \"timeCreated\": \"2020-09-02T16:46:27.841Z\",\n \"updated\": \"2020-09-02T16:46:27.841Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:27.841Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '723' - Content-Type: application/json; charset=UTF-8 - Etag: CLDAor6UzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '719' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CNDw+YP2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUldgP12j9B4SrXDzgmL8W0VdLh2Gw7a5OSYzG6lf30gOnQZbFvGAmIzVjZMpCkC2_1tw33qY7yU1L2vkus7v6237pGIcg + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UyYaAuQaoJb-u2Ut_QWpHo0PkgqF99_81UycTsFCCAmYEwJdFEYJzRcuuTrnQ_l0-AtHGF4e8DP5kzX_pL6tY__M_Sj3w - request: body: null headers: {} @@ -261,22 +263,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1594744036171824\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1599065187842128\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1594744036171824&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1599065187842128&alt=media\",\n \ \"name\": \"temp\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744036171824\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065187842128\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"300000\",\n \"md5Hash\": - \"knEtd8RvPud9esbKuk/iug==\",\n \"crc32c\": \"eRf+Fw==\",\n \"etag\": \"CLDAor6UzeoCEAE=\",\n - \ \"timeCreated\": \"2020-07-14T16:27:16.171Z\",\n \"updated\": \"2020-07-14T16:27:16.171Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:16.171Z\"\n}\n" + \"knEtd8RvPud9esbKuk/iug==\",\n \"crc32c\": \"eRf+Fw==\",\n \"etag\": \"CNDw+YP2yusCEAE=\",\n + \ \"timeCreated\": \"2020-09-02T16:46:27.841Z\",\n \"updated\": \"2020-09-02T16:46:27.841Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:27.841Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '723' - Content-Type: application/json; charset=UTF-8 - Etag: CLDAor6UzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '719' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CNDw+YP2yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -285,30 +294,36 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1594744036171824\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1599065187842128\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1594744036171824&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1599065187842128&alt=media\",\n \ \"name\": \"temp\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744036171824\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599065187842128\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"300000\",\n \"md5Hash\": \"knEtd8RvPud9esbKuk/iug==\",\n \"crc32c\": - \"eRf+Fw==\",\n \"etag\": \"CLDAor6UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:16.171Z\",\n \"updated\": \"2020-07-14T16:27:16.171Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:16.171Z\"\n }\n ]\n}\n" + \"eRf+Fw==\",\n \"etag\": \"CNDw+YP2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:27.841Z\",\n \"updated\": \"2020-09-02T16:46:27.841Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:27.841Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '849' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '845' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -338,21 +353,33 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_0rEib4xQtpY_AAT8F9VXUkc\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_UhP4kzY2Evw_AAEaItBJtg4\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:27:16 GMT\r\n\r\n\r\n--batch_0rEib4xQtpY_AAT8F9VXUkc--\r\n" + Wed, 02 Sep 2020 16:46:28 GMT\r\n\r\n\r\n--batch_UhP4kzY2Evw_AAEaItBJtg4--\r\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_0rEib4xQtpY_AAT8F9VXUkc - Pragma: no-cache - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_UhP4kzY2Evw_AAEaItBJtg4 + Pragma: + - no-cache + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_write_blocks2.yaml b/gcsfs/tests/recordings/test_write_blocks2.yaml index 0b9d41b1..93c78229 100644 --- a/gcsfs/tests/recordings/test_write_blocks2.yaml +++ b/gcsfs/tests/recordings/test_write_blocks2.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAOXcDV8C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULne1I82+NTiHzLPQE7Oe - lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmz25KllYVNxZHViOXh1hblIzd9LBFmopst5Y6wh - L2QwQYhD8Cs8y+tn+UCoWEcf/P+X4wMEC22h4wAAAA== + H4sIAGTMT18C/4WPsQ7DIBBDfyVibmHP2B+JTnBJUIFD3CGoqvx7Qzt1ymTZsqzntwJrkXkRemJS + 86R67+o2KbaUcfhTknfTLpJ5Nqa1pjeiLSBkz9pSNFBlN+cM1SSsCw5/2a+MxaeVNEbw4bJuA1V3 + zwFkpRIH4Bd4kdeP8oFQsIzcu/8vxwdcFoAW4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:18.616Z\",\n \"updated\": \"2020-07-14T16:27:18.616Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: null @@ -152,16 +136,16 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUl2Ng95XaEdbUWxnVjq5f0IIVO4TlM5IFnNlcQikg9945R3trmfyxvLvI9kfCZTgyzkM5G1kqa4Wwjtx-DRGTb6BLS9jA + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uya6h7Kevtls3Ezb96OmhG2YVP2uH9pdVTD82JJOHhd1lR-VhiQjTWvKsZwlBrSPuzzdahIqHdcR1zkLHCfSnWFifTPXQ Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable - request: - body: null + body: a headers: Accept: - '*/*' @@ -176,20 +160,25 @@ interactions: Host: - www.googleapis.com method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUl2Ng95XaEdbUWxnVjq5f0IIVO4TlM5IFnNlcQikg9945R3trmfyxvLvI9kfCZTgyzkM5G1kqa4Wwjtx-DRGTb6BLS9jA + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uya6h7Kevtls3Ezb96OmhG2YVP2uH9pdVTD82JJOHhd1lR-VhiQjTWvKsZwlBrSPuzzdahIqHdcR1zkLHCfSnWFifTPXQ response: body: string: '' headers: - Content-Length: '0' - Content-Type: text/plain; charset=utf-8 - Range: bytes=0-262143 - Server: UploadServer - X-Range-MD5: c946b71bb69c07daf25470742c967e7c + Content-Length: + - '0' + Content-Type: + - text/plain; charset=utf-8 + Range: + - bytes=0-262143 + Server: + - UploadServer + X-Range-MD5: + - c946b71bb69c07daf25470742c967e7c status: code: 308 message: Resume Incomplete - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUl2Ng95XaEdbUWxnVjq5f0IIVO4TlM5IFnNlcQikg9945R3trmfyxvLvI9kfCZTgyzkM5G1kqa4Wwjtx-DRGTb6BLS9jA + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uya6h7Kevtls3Ezb96OmhG2YVP2uH9pdVTD82JJOHhd1lR-VhiQjTWvKsZwlBrSPuzzdahIqHdcR1zkLHCfSnWFifTPXQ - request: body: null headers: @@ -206,20 +195,25 @@ interactions: Host: - www.googleapis.com method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUl2Ng95XaEdbUWxnVjq5f0IIVO4TlM5IFnNlcQikg9945R3trmfyxvLvI9kfCZTgyzkM5G1kqa4Wwjtx-DRGTb6BLS9jA + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uya6h7Kevtls3Ezb96OmhG2YVP2uH9pdVTD82JJOHhd1lR-VhiQjTWvKsZwlBrSPuzzdahIqHdcR1zkLHCfSnWFifTPXQ response: body: string: '' headers: - Content-Length: '0' - Content-Type: text/plain; charset=utf-8 - Range: bytes=0-262143 - Server: UploadServer - X-Range-MD5: c946b71bb69c07daf25470742c967e7c + Content-Length: + - '0' + Content-Type: + - text/plain; charset=utf-8 + Range: + - bytes=0-262143 + Server: + - UploadServer + X-Range-MD5: + - c946b71bb69c07daf25470742c967e7c status: code: 308 message: Resume Incomplete - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUl2Ng95XaEdbUWxnVjq5f0IIVO4TlM5IFnNlcQikg9945R3trmfyxvLvI9kfCZTgyzkM5G1kqa4Wwjtx-DRGTb6BLS9jA + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uya6h7Kevtls3Ezb96OmhG2YVP2uH9pdVTD82JJOHhd1lR-VhiQjTWvKsZwlBrSPuzzdahIqHdcR1zkLHCfSnWFifTPXQ - request: body: a headers: @@ -230,30 +224,38 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUl2Ng95XaEdbUWxnVjq5f0IIVO4TlM5IFnNlcQikg9945R3trmfyxvLvI9kfCZTgyzkM5G1kqa4Wwjtx-DRGTb6BLS9jA + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uya6h7Kevtls3Ezb96OmhG2YVP2uH9pdVTD82JJOHhd1lR-VhiQjTWvKsZwlBrSPuzzdahIqHdcR1zkLHCfSnWFifTPXQ response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp1/1594744039571633\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp1/1599065190219354\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp1?generation=1594744039571633&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp1?generation=1599065190219354&alt=media\",\n \ \"name\": \"temp1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744039571633\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065190219354\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"262145\",\n \"md5Hash\": - \"DJiiYTGzgmo700e4zWWwog==\",\n \"crc32c\": \"Ij9VGg==\",\n \"etag\": \"CLGB8r+UzeoCEAE=\",\n - \ \"timeCreated\": \"2020-07-14T16:27:19.571Z\",\n \"updated\": \"2020-07-14T16:27:19.571Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:19.571Z\"\n}\n" + \"DJiiYTGzgmo700e4zWWwog==\",\n \"crc32c\": \"Ij9VGg==\",\n \"etag\": \"CNr8ioX2yusCEAE=\",\n + \ \"timeCreated\": \"2020-09-02T16:46:30.219Z\",\n \"updated\": \"2020-09-02T16:46:30.219Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:30.219Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '727' - Content-Type: application/json; charset=UTF-8 - Etag: CLGB8r+UzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '723' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CNr8ioX2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUl2Ng95XaEdbUWxnVjq5f0IIVO4TlM5IFnNlcQikg9945R3trmfyxvLvI9kfCZTgyzkM5G1kqa4Wwjtx-DRGTb6BLS9jA + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uya6h7Kevtls3Ezb96OmhG2YVP2uH9pdVTD82JJOHhd1lR-VhiQjTWvKsZwlBrSPuzzdahIqHdcR1zkLHCfSnWFifTPXQ - request: body: null headers: {} @@ -261,22 +263,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp1 response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp1/1594744039571633\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp1/1599065190219354\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp1?generation=1594744039571633&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp1?generation=1599065190219354&alt=media\",\n \ \"name\": \"temp1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744039571633\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065190219354\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"262145\",\n \"md5Hash\": - \"DJiiYTGzgmo700e4zWWwog==\",\n \"crc32c\": \"Ij9VGg==\",\n \"etag\": \"CLGB8r+UzeoCEAE=\",\n - \ \"timeCreated\": \"2020-07-14T16:27:19.571Z\",\n \"updated\": \"2020-07-14T16:27:19.571Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:19.571Z\"\n}\n" + \"DJiiYTGzgmo700e4zWWwog==\",\n \"crc32c\": \"Ij9VGg==\",\n \"etag\": \"CNr8ioX2yusCEAE=\",\n + \ \"timeCreated\": \"2020-09-02T16:46:30.219Z\",\n \"updated\": \"2020-09-02T16:46:30.219Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:30.219Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '727' - Content-Type: application/json; charset=UTF-8 - Etag: CLGB8r+UzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '723' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CNr8ioX2yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -285,30 +294,36 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/temp1/1594744039571633\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/temp1/1599065190219354\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp1?generation=1594744039571633&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp1?generation=1599065190219354&alt=media\",\n \ \"name\": \"temp1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744039571633\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599065190219354\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"262145\",\n \"md5Hash\": \"DJiiYTGzgmo700e4zWWwog==\",\n \"crc32c\": - \"Ij9VGg==\",\n \"etag\": \"CLGB8r+UzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:19.571Z\",\n \"updated\": \"2020-07-14T16:27:19.571Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:19.571Z\"\n }\n ]\n}\n" + \"Ij9VGg==\",\n \"etag\": \"CNr8ioX2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:30.219Z\",\n \"updated\": \"2020-09-02T16:46:30.219Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:30.219Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '853' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '849' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -338,21 +353,33 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch__OaM3rcSf2Y_AAFG3mp-el8\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_pMvakh5huaY_AAIiz6Upy1w\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:27:20 GMT\r\n\r\n\r\n--batch__OaM3rcSf2Y_AAFG3mp-el8--\r\n" + Wed, 02 Sep 2020 16:46:30 GMT\r\n\r\n\r\n--batch_pMvakh5huaY_AAIiz6Upy1w--\r\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch__OaM3rcSf2Y_AAFG3mp-el8 - Pragma: no-cache - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_pMvakh5huaY_AAIiz6Upy1w + Pragma: + - no-cache + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_write_fails.yaml b/gcsfs/tests/recordings/test_write_fails.yaml index 033ffb8f..bd739b3e 100644 --- a/gcsfs/tests/recordings/test_write_fails.yaml +++ b/gcsfs/tests/recordings/test_write_fails.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIANzcDV8C/4WPsQ7DIBBDfyVibmHP2B+JTnBJUIFD3CGoqvx7Qzt1ymTZsuTntwJrkXkRemJS - 86R67+o2KbaUcfhTknfTLpJ5Nqa1pjeiLSBkz9pSNFBlN5Wx+LSSxgg+XNbPVapJWBcc/rJvA1V3 - zwFkpRIH4Bd4kdeP8oFQsIzcu/8vxwfXyTDP4wAAAA== + H4sIAF/MT18C/4WPMQ7DIBAEv2JRJ9C7zEesE5xtFOAQdwiiyH+PSapUrla7mmL2rcBaZF6EnpjU + PKneu7pNii1lHP2M5N20i2SejWmt6Y1oCwjZs7YUDVTZTWUsPq2kMYIPl7gNVN09B5CVSrzET0mq + SVgXHH0IfoUXef0sHwgFy9i9+/9yfAAU05XZ4wAAAA== headers: Cache-Control: - private @@ -48,20 +48,26 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: null headers: {} @@ -71,34 +77,21 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '32' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '32' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ -- request: - body: null - headers: {} - method: DELETE - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing - response: - body: - string: '' - headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '0' - Content-Type: application/json - Pragma: no-cache - Server: UploadServer - Vary: X-Origin - status: - code: 204 - message: No Content - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing - request: body: null headers: {} @@ -106,37 +99,28 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&predefinedDefaultObjectAcl=authenticatedread&project=test_project response: body: - string: "{\n \"kind\": \"storage#bucket\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing\",\n - \ \"id\": \"gcsfs-testing\",\n \"name\": \"gcsfs-testing\",\n \"projectNumber\": - \"586241054156\",\n \"metageneration\": \"1\",\n \"location\": \"US\",\n - \ \"storageClass\": \"STANDARD\",\n \"etag\": \"CAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:10.618Z\",\n \"updated\": \"2020-07-14T16:27:10.618Z\",\n - \ \"acl\": [\n {\n \"kind\": \"storage#bucketAccessControl\",\n \"id\": - \"gcsfs-testing/project-owners-586241054156\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/project-owners-586241054156\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"project-owners-586241054156\",\n - \ \"role\": \"OWNER\",\n \"etag\": \"CAE=\",\n \"projectTeam\": - {\n \"projectNumber\": \"586241054156\",\n \"team\": \"owners\"\n - \ }\n },\n {\n \"kind\": \"storage#bucketAccessControl\",\n - \ \"id\": \"gcsfs-testing/allUsers\",\n \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/acl/allUsers\",\n - \ \"bucket\": \"gcsfs-testing\",\n \"entity\": \"allUsers\",\n \"role\": - \"WRITER\",\n \"etag\": \"CAE=\"\n }\n ],\n \"defaultObjectAcl\": - [\n {\n \"kind\": \"storage#objectAccessControl\",\n \"entity\": - \"allAuthenticatedUsers\",\n \"role\": \"READER\",\n \"etag\": \"CAE=\"\n - \ }\n ],\n \"owner\": {\n \"entity\": \"project-owners-586241054156\"\n - \ },\n \"iamConfiguration\": {\n \"bucketPolicyOnly\": {\n \"enabled\": - false\n },\n \"uniformBucketLevelAccess\": {\n \"enabled\": false\n - \ }\n },\n \"locationType\": \"multi-region\"\n}\n" + string: "{\n \"error\": {\n \"code\": 409,\n \"message\": \"You already + own this bucket. Please select another name.\",\n \"errors\": [\n {\n + \ \"message\": \"You already own this bucket. Please select another + name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n + \ }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '1533' - Content-Type: application/json; charset=UTF-8 - Etag: CAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '287' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: - code: 200 - message: OK + code: 409 + message: Conflict url: https://www.googleapis.com/storage/v1/b/?predefinedAcl=publicReadWrite&project=test_project&predefinedDefaultObjectAcl=authenticatedread - request: body: null @@ -152,10 +136,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUmrKmaIbbwUPxEk6H0SZkxtCoLQvrsgMc_13EuRyw_TB2Wa1qbBue8H8OXIWRriHN7uX8S2fW7S7mSkIZcmOANDTbb1Uw + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UztJZUcH1z_y_ASVRxN0N6BZzFODeJOkgAzuKxT629stSf3cuJEcQEd-NH8zZZ8Hor8ZN3jIK7o5rO8qONa889nHbtyug Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -170,30 +154,38 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUmrKmaIbbwUPxEk6H0SZkxtCoLQvrsgMc_13EuRyw_TB2Wa1qbBue8H8OXIWRriHN7uX8S2fW7S7mSkIZcmOANDTbb1Uw + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UztJZUcH1z_y_ASVRxN0N6BZzFODeJOkgAzuKxT629stSf3cuJEcQEd-NH8zZZ8Hor8ZN3jIK7o5rO8qONa889nHbtyug response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1594744031375959\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1599065184336377\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1594744031375959&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1599065184336377&alt=media\",\n \ \"name\": \"temp\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744031375959\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065184336377\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n - \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CNfk/buUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:11.375Z\",\n \"updated\": \"2020-07-14T16:27:11.375Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:11.375Z\"\n}\n" + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CPnzo4L2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:24.336Z\",\n \"updated\": \"2020-09-02T16:46:24.336Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:24.336Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '718' - Content-Type: application/json; charset=UTF-8 - Etag: CNfk/buUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '714' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CPnzo4L2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUmrKmaIbbwUPxEk6H0SZkxtCoLQvrsgMc_13EuRyw_TB2Wa1qbBue8H8OXIWRriHN7uX8S2fW7S7mSkIZcmOANDTbb1Uw + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UztJZUcH1z_y_ASVRxN0N6BZzFODeJOkgAzuKxT629stSf3cuJEcQEd-NH8zZZ8Hor8ZN3jIK7o5rO8qONa889nHbtyug - request: body: null headers: {} @@ -201,22 +193,29 @@ interactions: uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1594744031375959\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1599065184336377\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1594744031375959&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1599065184336377&alt=media\",\n \ \"name\": \"temp\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744031375959\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065184336377\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n - \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CNfk/buUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:11.375Z\",\n \"updated\": \"2020-07-14T16:27:11.375Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:11.375Z\"\n}\n" + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"CPnzo4L2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:24.336Z\",\n \"updated\": \"2020-09-02T16:46:24.336Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:24.336Z\"\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '718' - Content-Type: application/json; charset=UTF-8 - Etag: CNfk/buUzeoCEAE= - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '714' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - CPnzo4L2yusCEAE= + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK @@ -235,10 +234,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUnAaLXsXFpDTn-s5KIZIKoDj1LKEQSeaJK8OFHUtOfHu1D4mYQUgqjxkaxRplDNURGZiF6H8Enmod8Io9y3a93tmww8pA + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uy9jSZ0fgjflKwO6EsLuM_V9PGAGifIsZQYBkxGiuFM2xX4L8QTEGU_lSX70xBoNpikCpr20f6gr0TU_inK-02D55cDGQ Pragma: no-cache Server: UploadServer - Vary: X-Origin + Vary: Origin status: code: 200 message: OK @@ -253,30 +252,38 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUnAaLXsXFpDTn-s5KIZIKoDj1LKEQSeaJK8OFHUtOfHu1D4mYQUgqjxkaxRplDNURGZiF6H8Enmod8Io9y3a93tmww8pA + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uy9jSZ0fgjflKwO6EsLuM_V9PGAGifIsZQYBkxGiuFM2xX4L8QTEGU_lSX70xBoNpikCpr20f6gr0TU_inK-02D55cDGQ response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1594744032271461\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1599065184935398\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1594744032271461&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1599065184935398&alt=media\",\n \ \"name\": \"temp\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744032271461\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599065184935398\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n - \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"COW4tLyUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:12.271Z\",\n \"updated\": \"2020-07-14T16:27:12.271Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:12.271Z\"\n}\n" + \ \"crc32c\": \"AAAAAA==\",\n \"etag\": \"COa7yIL2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:24.935Z\",\n \"updated\": \"2020-09-02T16:46:24.935Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:24.935Z\"\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '718' - Content-Type: application/json; charset=UTF-8 - Etag: COW4tLyUzeoCEAE= - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '714' + Content-Type: + - application/json; charset=UTF-8 + Etag: + - COa7yIL2yusCEAE= + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=AAANsUnAaLXsXFpDTn-s5KIZIKoDj1LKEQSeaJK8OFHUtOfHu1D4mYQUgqjxkaxRplDNURGZiF6H8Enmod8Io9y3a93tmww8pA + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uy9jSZ0fgjflKwO6EsLuM_V9PGAGifIsZQYBkxGiuFM2xX4L8QTEGU_lSX70xBoNpikCpr20f6gr0TU_inK-02D55cDGQ - request: body: null headers: @@ -290,12 +297,19 @@ interactions: \ \"errors\": [\n {\n \"message\": \"Not Found\",\n \"domain\": \"global\",\n \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Length: '193' - Content-Type: application/json; charset=UTF-8 - Pragma: no-cache - Server: UploadServer - Vary: X-Origin + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Length: + - '193' + Content-Type: + - application/json; charset=UTF-8 + Pragma: + - no-cache + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 404 message: Not Found @@ -304,30 +318,36 @@ interactions: body: null headers: {} method: GET - uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=%2F + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1594744032271461\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/temp/1599065184935398\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/temp\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1594744032271461&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/temp?generation=1599065184935398&alt=media\",\n \ \"name\": \"temp\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1594744032271461\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599065184935398\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"0\",\n \"md5Hash\": \"1B2M2Y8AsgTpgAmY7PhCfg==\",\n \"crc32c\": - \"AAAAAA==\",\n \"etag\": \"COW4tLyUzeoCEAE=\",\n \"timeCreated\": - \"2020-07-14T16:27:12.271Z\",\n \"updated\": \"2020-07-14T16:27:12.271Z\",\n - \ \"timeStorageClassUpdated\": \"2020-07-14T16:27:12.271Z\"\n }\n ]\n}\n" + \"AAAAAA==\",\n \"etag\": \"COa7yIL2yusCEAE=\",\n \"timeCreated\": + \"2020-09-02T16:46:24.935Z\",\n \"updated\": \"2020-09-02T16:46:24.935Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T16:46:24.935Z\"\n }\n ]\n}\n" headers: - Cache-Control: private, max-age=0, must-revalidate, no-transform - Content-Length: '844' - Content-Type: application/json; charset=UTF-8 - Server: UploadServer - Vary: X-Origin + Cache-Control: + - private, max-age=0, must-revalidate, no-transform + Content-Length: + - '840' + Content-Type: + - application/json; charset=UTF-8 + Server: + - UploadServer + Vary: + - Origin + - X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?delimiter=/ + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/ - request: body: ' @@ -357,21 +377,33 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_YHnWl8sQyX0_AAamMfnJGnw\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_bnCoV31U15s_AAd12YEKDUI\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 204 No Content\r\nDate: - Tue, 14 Jul 2020 16:27:13 GMT\r\n\r\n\r\n--batch_YHnWl8sQyX0_AAamMfnJGnw--\r\n" + Wed, 02 Sep 2020 16:46:25 GMT\r\n\r\n\r\n--batch_bnCoV31U15s_AAd12YEKDUI--\r\n" headers: - Cache-Control: no-cache, no-store, max-age=0, must-revalidate - Content-Encoding: gzip - Content-Security-Policy: frame-ancestors 'self' - Content-Type: multipart/mixed; boundary=batch_YHnWl8sQyX0_AAamMfnJGnw - Pragma: no-cache - Server: GSE - Transfer-Encoding: chunked - Vary: X-Origin - X-Content-Type-Options: nosniff - X-Frame-Options: SAMEORIGIN - X-XSS-Protection: 1; mode=block + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Content-Encoding: + - gzip + Content-Security-Policy: + - frame-ancestors 'self' + Content-Type: + - multipart/mixed; boundary=batch_bnCoV31U15s_AAd12YEKDUI + Pragma: + - no-cache + Server: + - GSE + Transfer-Encoding: + - chunked + Vary: + - Origin + - X-Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block status: code: 200 message: OK diff --git a/gcsfs/tests/settings.py b/gcsfs/tests/settings.py index c962bfdd..61774548 100644 --- a/gcsfs/tests/settings.py +++ b/gcsfs/tests/settings.py @@ -34,7 +34,3 @@ if isinstance(GOOGLE_TOKEN, str) and os.path.exists(GOOGLE_TOKEN): with open(GOOGLE_TOKEN) as f: GOOGLE_TOKEN = json.load(f) - - -# /Users/mdurant/.config/gcloud/application_default_credentials.json -DEBUG = os.environ.get("GCSFS_DEBUG", False) diff --git a/gcsfs/tests/test_core.py b/gcsfs/tests/test_core.py index f57c3dce..91c10b8d 100644 --- a/gcsfs/tests/test_core.py +++ b/gcsfs/tests/test_core.py @@ -74,7 +74,7 @@ def test_simple_upload(): assert gcs.cat(fn) == b"zz" -@pytest.mark.xfail(reason="oddness") +@pytest.mark.xfail(reason="oddness in repeat VCR calls") @my_vcr.use_cassette(match=["all"]) def test_multi_upload(): with gcs_maker() as gcs: @@ -181,8 +181,9 @@ def test_rm(): assert gcs.exists(a) gcs.rm(a) assert not gcs.exists(a) - with pytest.raises((OSError, IOError)): - gcs.rm(TEST_BUCKET + "/nonexistent") + # silently ignored for now + #with pytest.raises((OSError, IOError)): + # gcs.rm(TEST_BUCKET + "/nonexistent") with pytest.raises((OSError, IOError)): gcs.rm("nonexistent") @@ -423,8 +424,9 @@ def test_errors(): # with pytest.raises((IOError, OSError)): # gcs.touch('tmp/test/shfoshf/x') - with pytest.raises((IOError, OSError)): - gcs.rm(TEST_BUCKET + "/tmp/test/shfoshf/x") + # silently ignoed for now + #with pytest.raises((IOError, OSError)): + # gcs.rm(TEST_BUCKET + "/tmp/test/shfoshf/x") with pytest.raises((IOError, OSError)): gcs.mv(TEST_BUCKET + "/tmp/test/shfoshf/x", "tmp/test/shfoshf/y") diff --git a/gcsfs/tests/utils.py b/gcsfs/tests/utils.py index 97f5f729..3651f385 100644 --- a/gcsfs/tests/utils.py +++ b/gcsfs/tests/utils.py @@ -14,16 +14,9 @@ TEST_PROJECT, RECORD_MODE, GOOGLE_TOKEN, - DEBUG, ) import vcr -import logging - -if DEBUG: - logging.basicConfig() # you need to initialize logging, otherwise you will not see anything from vcrpy - vcr_log = logging.getLogger("vcr") - vcr_log.setLevel(logging.DEBUG) def before_record_response(response): From 4ded5d7fed3ec814c882a90811a74be63a4392f9 Mon Sep 17 00:00:00 2001 From: Martin Durant Date: Wed, 2 Sep 2020 13:07:37 -0400 Subject: [PATCH 5/7] linting --- gcsfs/core.py | 16 ++++++++-------- gcsfs/tests/conftest.py | 6 ++++-- gcsfs/tests/test_core.py | 4 ++-- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/gcsfs/core.py b/gcsfs/core.py index b2997814..6eb0350e 100644 --- a/gcsfs/core.py +++ b/gcsfs/core.py @@ -39,8 +39,9 @@ logger = logging.getLogger("gcsfs") if "GCSFS_DEBUG" in os.environ: handle = logging.StreamHandler() - formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s ' - '- %(message)s') + formatter = logging.Formatter( + "%(asctime)s - %(name)s - %(levelname)s " "- %(message)s" + ) handle.setFormatter(formatter) logger.addHandler(handle) logger.setLevel("DEBUG") @@ -980,11 +981,10 @@ async def _rm(self, paths, batchsize): self._rm_files(files[i : i + batchsize]) for i in range(0, len(files), batchsize) ] - ), - return_exceptions=True + ), + return_exceptions=True, ) - exs = [ex for ex in exs - if ex is not None and "No such object" not in str(ex)] + exs = [ex for ex in exs if ex is not None and "No such object" not in str(ex)] if exs: raise exs[0] await asyncio.gather(*[self._rmdir(d) for d in dirs]) @@ -1089,8 +1089,8 @@ def find(self, path, withdirs=False, detail=False, **kwargs): except FileNotFoundError: out = [] if detail: - return {o['name']: o for o in out} - return [o['name'] for o in out] + return {o["name"]: o for o in out} + return [o["name"] for o in out] async def _get_file(self, rpath, lpath, **kwargs): if await self._isdir(rpath): diff --git a/gcsfs/tests/conftest.py b/gcsfs/tests/conftest.py index 4580b72d..3c366930 100644 --- a/gcsfs/tests/conftest.py +++ b/gcsfs/tests/conftest.py @@ -31,8 +31,10 @@ def build_response(vcr_request, vcr_response, history): response.status = vcr_response["status"]["code"] response._body = vcr_response["body"].get("string", b"") response.reason = vcr_response["status"]["message"] - head = {k: v[0] if isinstance(v, list) else v - for k, v in vcr_response["headers"].items()} + head = { + k: v[0] if isinstance(v, list) else v + for k, v in vcr_response["headers"].items() + } response._headers = aios.CIMultiDictProxy(aios.CIMultiDict(head)) response._history = tuple(history) diff --git a/gcsfs/tests/test_core.py b/gcsfs/tests/test_core.py index 91c10b8d..3f167b6e 100644 --- a/gcsfs/tests/test_core.py +++ b/gcsfs/tests/test_core.py @@ -182,7 +182,7 @@ def test_rm(): gcs.rm(a) assert not gcs.exists(a) # silently ignored for now - #with pytest.raises((OSError, IOError)): + # with pytest.raises((OSError, IOError)): # gcs.rm(TEST_BUCKET + "/nonexistent") with pytest.raises((OSError, IOError)): gcs.rm("nonexistent") @@ -425,7 +425,7 @@ def test_errors(): # gcs.touch('tmp/test/shfoshf/x') # silently ignoed for now - #with pytest.raises((IOError, OSError)): + # with pytest.raises((IOError, OSError)): # gcs.rm(TEST_BUCKET + "/tmp/test/shfoshf/x") with pytest.raises((IOError, OSError)): From 29b202345e2cdf1926c9ab51841a5e0228a57623 Mon Sep 17 00:00:00 2001 From: Martin Durant Date: Wed, 2 Sep 2020 15:01:56 -0400 Subject: [PATCH 6/7] fix --- .../recordings/test_map_clear_empty.yaml | 622 +++++----- gcsfs/tests/recordings/test_map_simple.yaml | 548 +++++---- .../tests/recordings/test_map_with_data.yaml | 1066 ++++++++--------- gcsfs/tests/test_mapping.py | 1 + gcsfs/tests/utils.py | 2 +- 5 files changed, 1061 insertions(+), 1178 deletions(-) diff --git a/gcsfs/tests/recordings/test_map_clear_empty.yaml b/gcsfs/tests/recordings/test_map_clear_empty.yaml index 1e0a7f31..7fe2e1e8 100644 --- a/gcsfs/tests/recordings/test_map_clear_empty.yaml +++ b/gcsfs/tests/recordings/test_map_clear_empty.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAKjMT18C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP - Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTZ79qllYVNxaHWVb4w15IUMJghRnSs5+MuWi9T8 - vUSQhWoagF/gWV4/ygdCxTr84P+/HB+fT0zw4wAAAA== + H4sIAI7qT18C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULne1I82+NTiHzLPQE7Oe + lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmzWRWr+XiLIQjWpk8rBqyuqMdaQFzKYIMTL+SlJ + LQubiiMPwa/wLK+f5QOhYh198P9fjg+YY4lN4wAAAA== headers: Cache-Control: - private @@ -53,17 +53,11 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '32' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '32' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK @@ -77,17 +71,11 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '32' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '32' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK @@ -105,19 +93,12 @@ interactions: name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n \ }\n ]\n }\n}\n" headers: - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '287' - Content-Type: - - application/json; charset=UTF-8 - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: no-cache, no-store, max-age=0, must-revalidate + Content-Length: '287' + Content-Type: application/json; charset=UTF-8 + Pragma: no-cache + Server: UploadServer + Vary: X-Origin status: code: 409 message: Conflict @@ -131,17 +112,11 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '32' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '32' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK @@ -158,19 +133,12 @@ interactions: \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '247' - Content-Type: - - application/json; charset=UTF-8 - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: no-cache, no-store, max-age=0, must-revalidate + Content-Length: '247' + Content-Type: application/json; charset=UTF-8 + Pragma: no-cache + Server: UploadServer + Vary: X-Origin status: code: 404 message: Not Found @@ -187,19 +155,12 @@ interactions: \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '247' - Content-Type: - - application/json; charset=UTF-8 - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: no-cache, no-store, max-age=0, must-revalidate + Content-Length: '247' + Content-Type: application/json; charset=UTF-8 + Pragma: no-cache + Server: UploadServer + Vary: X-Origin status: code: 404 message: Not Found @@ -213,17 +174,11 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '32' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '32' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK @@ -240,19 +195,12 @@ interactions: \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '247' - Content-Type: - - application/json; charset=UTF-8 - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: no-cache, no-store, max-age=0, must-revalidate + Content-Length: '247' + Content-Type: application/json; charset=UTF-8 + Pragma: no-cache + Server: UploadServer + Vary: X-Origin status: code: 404 message: Not Found @@ -266,17 +214,11 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '32' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '32' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK @@ -293,19 +235,12 @@ interactions: \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '247' - Content-Type: - - application/json; charset=UTF-8 - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: no-cache, no-store, max-age=0, must-revalidate + Content-Length: '247' + Content-Type: application/json; charset=UTF-8 + Pragma: no-cache + Server: UploadServer + Vary: X-Origin status: code: 404 message: Not Found @@ -319,17 +254,11 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '32' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '32' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK @@ -346,19 +275,52 @@ interactions: \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '247' - Content-Type: - - application/json; charset=UTF-8 - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: no-cache, no-store, max-age=0, must-revalidate + Content-Length: '247' + Content-Type: application/json; charset=UTF-8 + Pragma: no-cache + Server: UploadServer + Vary: X-Origin + status: + code: 404 + message: Not Found + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F + response: + body: + string: "{\n \"kind\": \"storage#objects\"\n}\n" + headers: + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '32' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping + response: + body: + string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: + gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": + \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n + \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" + headers: + Cache-Control: no-cache, no-store, max-age=0, must-revalidate + Content-Length: '247' + Content-Type: application/json; charset=UTF-8 + Pragma: no-cache + Server: UploadServer + Vary: X-Origin status: code: 404 message: Not Found @@ -377,10 +339,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uz8V8SGLwXjdZba5GuHFfETDDl9PxoR-8j3z08pCfOl5G9xMn1MXMEe1toYneojXiLOzl9bcPPJE4UdaOa0Pw + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uzu4WFDPmUzxYyx-6GvlzDIyWiibhMcgNIZwfk9Y8j9aOHzTqGDJIk5EdPVoTbQB2Ny8GGeq4nEa4EL181Iv6pdzhXW7g Pragma: no-cache Server: UploadServer - Vary: Origin + Vary: X-Origin status: code: 200 message: OK @@ -395,38 +357,30 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uz8V8SGLwXjdZba5GuHFfETDDl9PxoR-8j3z08pCfOl5G9xMn1MXMEe1toYneojXiLOzl9bcPPJE4UdaOa0Pw + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uzu4WFDPmUzxYyx-6GvlzDIyWiibhMcgNIZwfk9Y8j9aOHzTqGDJIk5EdPVoTbQB2Ny8GGeq4nEa4EL181Iv6pdzhXW7g response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/1/1599065258192864\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/1/1599072912135171\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2F1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2F1?generation=1599065258192864&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2F1?generation=1599072912135171&alt=media\",\n \ \"name\": \"mapping/1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1599065258192864\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599072912135171\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"1\",\n \"md5Hash\": \"xMpCOKC5I4INzFCab3WEmw==\",\n - \ \"crc32c\": \"kPWZ4w==\",\n \"etag\": \"CODfv6X2yusCEAE=\",\n \"timeCreated\": - \"2020-09-02T16:47:38.192Z\",\n \"updated\": \"2020-09-02T16:47:38.192Z\",\n - \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:38.192Z\"\n}\n" + \ \"crc32c\": \"kPWZ4w==\",\n \"etag\": \"CIOol+eSy+sCEAE=\",\n \"timeCreated\": + \"2020-09-02T18:55:12.135Z\",\n \"updated\": \"2020-09-02T18:55:12.135Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T18:55:12.135Z\"\n}\n" headers: - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '738' - Content-Type: - - application/json; charset=UTF-8 - Etag: - - CODfv6X2yusCEAE= - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: no-cache, no-store, max-age=0, must-revalidate + Content-Length: '738' + Content-Type: application/json; charset=UTF-8 + Etag: CIOol+eSy+sCEAE= + Pragma: no-cache + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uz8V8SGLwXjdZba5GuHFfETDDl9PxoR-8j3z08pCfOl5G9xMn1MXMEe1toYneojXiLOzl9bcPPJE4UdaOa0Pw + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uzu4WFDPmUzxYyx-6GvlzDIyWiibhMcgNIZwfk9Y8j9aOHzTqGDJIk5EdPVoTbQB2Ny8GGeq4nEa4EL181Iv6pdzhXW7g - request: body: null headers: {} @@ -435,28 +389,22 @@ interactions: response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/1/1599065258192864\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/1/1599072912135171\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2F1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2F1?generation=1599065258192864&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2F1?generation=1599072912135171&alt=media\",\n \ \"name\": \"mapping/1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1599065258192864\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599072912135171\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"1\",\n \"md5Hash\": \"xMpCOKC5I4INzFCab3WEmw==\",\n \"crc32c\": - \"kPWZ4w==\",\n \"etag\": \"CODfv6X2yusCEAE=\",\n \"timeCreated\": - \"2020-09-02T16:47:38.192Z\",\n \"updated\": \"2020-09-02T16:47:38.192Z\",\n - \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:38.192Z\"\n }\n ]\n}\n" + \"kPWZ4w==\",\n \"etag\": \"CIOol+eSy+sCEAE=\",\n \"timeCreated\": + \"2020-09-02T18:55:12.135Z\",\n \"updated\": \"2020-09-02T18:55:12.135Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T18:55:12.135Z\"\n }\n ]\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '864' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '864' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK @@ -469,28 +417,22 @@ interactions: response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/1/1599065258192864\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/1/1599072912135171\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2F1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2F1?generation=1599065258192864&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2F1?generation=1599072912135171&alt=media\",\n \ \"name\": \"mapping/1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1599065258192864\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599072912135171\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"1\",\n \"md5Hash\": \"xMpCOKC5I4INzFCab3WEmw==\",\n \"crc32c\": - \"kPWZ4w==\",\n \"etag\": \"CODfv6X2yusCEAE=\",\n \"timeCreated\": - \"2020-09-02T16:47:38.192Z\",\n \"updated\": \"2020-09-02T16:47:38.192Z\",\n - \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:38.192Z\"\n }\n ]\n}\n" + \"kPWZ4w==\",\n \"etag\": \"CIOol+eSy+sCEAE=\",\n \"timeCreated\": + \"2020-09-02T18:55:12.135Z\",\n \"updated\": \"2020-09-02T18:55:12.135Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T18:55:12.135Z\"\n }\n ]\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '864' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '864' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK @@ -503,28 +445,50 @@ interactions: response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/1/1599065258192864\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/1/1599072912135171\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2F1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2F1?generation=1599065258192864&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2F1?generation=1599072912135171&alt=media\",\n \ \"name\": \"mapping/1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1599065258192864\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599072912135171\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"1\",\n \"md5Hash\": \"xMpCOKC5I4INzFCab3WEmw==\",\n \"crc32c\": - \"kPWZ4w==\",\n \"etag\": \"CODfv6X2yusCEAE=\",\n \"timeCreated\": - \"2020-09-02T16:47:38.192Z\",\n \"updated\": \"2020-09-02T16:47:38.192Z\",\n - \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:38.192Z\"\n }\n ]\n}\n" + \"kPWZ4w==\",\n \"etag\": \"CIOol+eSy+sCEAE=\",\n \"timeCreated\": + \"2020-09-02T18:55:12.135Z\",\n \"updated\": \"2020-09-02T18:55:12.135Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T18:55:12.135Z\"\n }\n ]\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '864' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '864' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F + response: + body: + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/1/1599072912135171\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2F1\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2F1?generation=1599072912135171&alt=media\",\n + \ \"name\": \"mapping/1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599072912135171\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"1\",\n \"md5Hash\": \"xMpCOKC5I4INzFCab3WEmw==\",\n \"crc32c\": + \"kPWZ4w==\",\n \"etag\": \"CIOol+eSy+sCEAE=\",\n \"timeCreated\": + \"2020-09-02T18:55:12.135Z\",\n \"updated\": \"2020-09-02T18:55:12.135Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T18:55:12.135Z\"\n }\n ]\n}\n" + headers: + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '864' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK @@ -541,19 +505,12 @@ interactions: \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '247' - Content-Type: - - application/json; charset=UTF-8 - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: no-cache, no-store, max-age=0, must-revalidate + Content-Length: '247' + Content-Type: application/json; charset=UTF-8 + Pragma: no-cache + Server: UploadServer + Vary: X-Origin status: code: 404 message: Not Found @@ -566,28 +523,22 @@ interactions: response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/1/1599065258192864\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/1/1599072912135171\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2F1\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2F1?generation=1599065258192864&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2F1?generation=1599072912135171&alt=media\",\n \ \"name\": \"mapping/1\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1599065258192864\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599072912135171\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"1\",\n \"md5Hash\": \"xMpCOKC5I4INzFCab3WEmw==\",\n \"crc32c\": - \"kPWZ4w==\",\n \"etag\": \"CODfv6X2yusCEAE=\",\n \"timeCreated\": - \"2020-09-02T16:47:38.192Z\",\n \"updated\": \"2020-09-02T16:47:38.192Z\",\n - \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:38.192Z\"\n }\n ]\n}\n" + \"kPWZ4w==\",\n \"etag\": \"CIOol+eSy+sCEAE=\",\n \"timeCreated\": + \"2020-09-02T18:55:12.135Z\",\n \"updated\": \"2020-09-02T18:55:12.135Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T18:55:12.135Z\"\n }\n ]\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '864' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '864' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK @@ -639,38 +590,27 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_0M7ZZbaLnzs_AAF8SEF3DBI\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_i_I_WVrAboI_AAFmMbyaeUA\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 404 Not Found\r\nContent-Type: application/json; charset=UTF-8\r\nDate: Wed, 02 Sep - 2020 16:47:39 GMT\r\nExpires: Wed, 02 Sep 2020 16:47:39 GMT\r\nCache-Control: + 2020 18:55:13 GMT\r\nExpires: Wed, 02 Sep 2020 18:55:13 GMT\r\nCache-Control: private, max-age=0\r\nContent-Length: 219\r\n\r\n{\n \"error\": {\n \"errors\": [\n {\n \"domain\": \"global\",\n \"reason\": \"notFound\",\n \"message\": \"No such object: gcsfs-testing/mapping\"\n }\n ],\n \"code\": 404,\n - \ \"message\": \"No such object: gcsfs-testing/mapping\"\n }\n}\n\r\n--batch_0M7ZZbaLnzs_AAF8SEF3DBI\r\nContent-Type: + \ \"message\": \"No such object: gcsfs-testing/mapping\"\n }\n}\n\r\n--batch_i_I_WVrAboI_AAFmMbyaeUA\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Wed, 02 Sep 2020 16:47:39 GMT\r\n\r\n\r\n--batch_0M7ZZbaLnzs_AAF8SEF3DBI--\r\n" + 204 No Content\r\nDate: Wed, 02 Sep 2020 18:55:13 GMT\r\n\r\n\r\n--batch_i_I_WVrAboI_AAFmMbyaeUA--\r\n" headers: - Cache-Control: - - private, max-age=0 - Content-Encoding: - - gzip - Content-Security-Policy: - - frame-ancestors 'self' - Content-Type: - - multipart/mixed; boundary=batch_0M7ZZbaLnzs_AAF8SEF3DBI - Server: - - GSE - Transfer-Encoding: - - chunked - Vary: - - Origin - - X-Origin - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - SAMEORIGIN - X-XSS-Protection: - - 1; mode=block + Cache-Control: private, max-age=0 + Content-Encoding: gzip + Content-Security-Policy: frame-ancestors 'self' + Content-Type: multipart/mixed; boundary=batch_i_I_WVrAboI_AAFmMbyaeUA + Server: GSE + Transfer-Encoding: chunked + Vary: X-Origin + X-Content-Type-Options: nosniff + X-Frame-Options: SAMEORIGIN + X-XSS-Protection: 1; mode=block status: code: 200 message: OK @@ -684,17 +624,11 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '32' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '32' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK @@ -711,19 +645,12 @@ interactions: \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '247' - Content-Type: - - application/json; charset=UTF-8 - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: no-cache, no-store, max-age=0, must-revalidate + Content-Length: '247' + Content-Type: application/json; charset=UTF-8 + Pragma: no-cache + Server: UploadServer + Vary: X-Origin status: code: 404 message: Not Found @@ -737,17 +664,11 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '32' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '32' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK @@ -764,19 +685,52 @@ interactions: \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '247' - Content-Type: - - application/json; charset=UTF-8 - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: no-cache, no-store, max-age=0, must-revalidate + Content-Length: '247' + Content-Type: application/json; charset=UTF-8 + Pragma: no-cache + Server: UploadServer + Vary: X-Origin + status: + code: 404 + message: Not Found + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F + response: + body: + string: "{\n \"kind\": \"storage#objects\"\n}\n" + headers: + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '32' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping + response: + body: + string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: + gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": + \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n + \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" + headers: + Cache-Control: no-cache, no-store, max-age=0, must-revalidate + Content-Length: '247' + Content-Type: application/json; charset=UTF-8 + Pragma: no-cache + Server: UploadServer + Vary: X-Origin status: code: 404 message: Not Found @@ -790,17 +744,11 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '32' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '32' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_map_simple.yaml b/gcsfs/tests/recordings/test_map_simple.yaml index 5ecc2e73..ce3e3a94 100644 --- a/gcsfs/tests/recordings/test_map_simple.yaml +++ b/gcsfs/tests/recordings/test_map_simple.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAJnMT18C/4XPsQ7DIAwE0F9BzC3sGfsjkQVOggoYYSNSVfn3hnbqlPFON7x7a3AOmWehJ2Y9 - Kb3vu74pzY4KjryJFJ6s7b2blWiNCCWwcZQsNNmsi9T8vUSQhWpSV/PGWENeyGCCEC/np45aFjYV - R1YnKgc/gF/wLK+f8oFQsY4++P8vxwdVrNCv4wAAAA== + H4sIAEHqT18C/4WPMQ7DIBAEv4KoE+hd5iPWCc42CnCIO4SjyH+PSapULnc1K82+NTiHzLPQE7Oe + lN73Xd+UZkcFR95ECk/W9t7NSrRGhBLYOEoWmmz23FPLwqbiyOqKb4w15IUMJgjxEneRmr+XCLJQ + TeqUysEPwa/wLK+f5QOhYh198P9fjg+z0wad4wAAAA== headers: Cache-Control: - private @@ -53,17 +53,11 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '32' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '32' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK @@ -77,17 +71,11 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '32' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '32' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK @@ -105,19 +93,12 @@ interactions: name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n \ }\n ]\n }\n}\n" headers: - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '287' - Content-Type: - - application/json; charset=UTF-8 - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: no-cache, no-store, max-age=0, must-revalidate + Content-Length: '287' + Content-Type: application/json; charset=UTF-8 + Pragma: no-cache + Server: UploadServer + Vary: X-Origin status: code: 409 message: Conflict @@ -131,17 +112,11 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '32' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '32' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK @@ -158,19 +133,12 @@ interactions: \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '247' - Content-Type: - - application/json; charset=UTF-8 - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: no-cache, no-store, max-age=0, must-revalidate + Content-Length: '247' + Content-Type: application/json; charset=UTF-8 + Pragma: no-cache + Server: UploadServer + Vary: X-Origin status: code: 404 message: Not Found @@ -184,17 +152,11 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '32' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '32' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK @@ -211,19 +173,12 @@ interactions: \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '247' - Content-Type: - - application/json; charset=UTF-8 - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: no-cache, no-store, max-age=0, must-revalidate + Content-Length: '247' + Content-Type: application/json; charset=UTF-8 + Pragma: no-cache + Server: UploadServer + Vary: X-Origin status: code: 404 message: Not Found @@ -237,17 +192,11 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '32' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '32' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK @@ -264,19 +213,12 @@ interactions: \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '247' - Content-Type: - - application/json; charset=UTF-8 - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: no-cache, no-store, max-age=0, must-revalidate + Content-Length: '247' + Content-Type: application/json; charset=UTF-8 + Pragma: no-cache + Server: UploadServer + Vary: X-Origin status: code: 404 message: Not Found @@ -290,17 +232,11 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '32' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '32' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK @@ -317,19 +253,12 @@ interactions: \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '247' - Content-Type: - - application/json; charset=UTF-8 - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: no-cache, no-store, max-age=0, must-revalidate + Content-Length: '247' + Content-Type: application/json; charset=UTF-8 + Pragma: no-cache + Server: UploadServer + Vary: X-Origin status: code: 404 message: Not Found @@ -343,17 +272,11 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '32' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '32' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK @@ -370,19 +293,12 @@ interactions: \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '247' - Content-Type: - - application/json; charset=UTF-8 - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: no-cache, no-store, max-age=0, must-revalidate + Content-Length: '247' + Content-Type: application/json; charset=UTF-8 + Pragma: no-cache + Server: UploadServer + Vary: X-Origin status: code: 404 message: Not Found @@ -396,17 +312,11 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '32' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '32' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK @@ -423,19 +333,12 @@ interactions: \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '247' - Content-Type: - - application/json; charset=UTF-8 - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: no-cache, no-store, max-age=0, must-revalidate + Content-Length: '247' + Content-Type: application/json; charset=UTF-8 + Pragma: no-cache + Server: UploadServer + Vary: X-Origin status: code: 404 message: Not Found @@ -449,17 +352,11 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '32' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '32' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK @@ -476,19 +373,12 @@ interactions: \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '247' - Content-Type: - - application/json; charset=UTF-8 - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: no-cache, no-store, max-age=0, must-revalidate + Content-Length: '247' + Content-Type: application/json; charset=UTF-8 + Pragma: no-cache + Server: UploadServer + Vary: X-Origin status: code: 404 message: Not Found @@ -502,17 +392,11 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '32' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '32' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK @@ -529,19 +413,12 @@ interactions: \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '247' - Content-Type: - - application/json; charset=UTF-8 - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: no-cache, no-store, max-age=0, must-revalidate + Content-Length: '247' + Content-Type: application/json; charset=UTF-8 + Pragma: no-cache + Server: UploadServer + Vary: X-Origin status: code: 404 message: Not Found @@ -555,17 +432,11 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '32' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '32' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK @@ -582,19 +453,172 @@ interactions: \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '247' - Content-Type: - - application/json; charset=UTF-8 - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: no-cache, no-store, max-age=0, must-revalidate + Content-Length: '247' + Content-Type: application/json; charset=UTF-8 + Pragma: no-cache + Server: UploadServer + Vary: X-Origin + status: + code: 404 + message: Not Found + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F + response: + body: + string: "{\n \"kind\": \"storage#objects\"\n}\n" + headers: + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '32' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping + response: + body: + string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: + gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": + \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n + \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" + headers: + Cache-Control: no-cache, no-store, max-age=0, must-revalidate + Content-Length: '247' + Content-Type: application/json; charset=UTF-8 + Pragma: no-cache + Server: UploadServer + Vary: X-Origin + status: + code: 404 + message: Not Found + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F + response: + body: + string: "{\n \"kind\": \"storage#objects\"\n}\n" + headers: + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '32' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping + response: + body: + string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: + gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": + \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n + \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" + headers: + Cache-Control: no-cache, no-store, max-age=0, must-revalidate + Content-Length: '247' + Content-Type: application/json; charset=UTF-8 + Pragma: no-cache + Server: UploadServer + Vary: X-Origin + status: + code: 404 + message: Not Found + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F + response: + body: + string: "{\n \"kind\": \"storage#objects\"\n}\n" + headers: + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '32' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping + response: + body: + string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: + gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": + \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n + \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" + headers: + Cache-Control: no-cache, no-store, max-age=0, must-revalidate + Content-Length: '247' + Content-Type: application/json; charset=UTF-8 + Pragma: no-cache + Server: UploadServer + Vary: X-Origin + status: + code: 404 + message: Not Found + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F + response: + body: + string: "{\n \"kind\": \"storage#objects\"\n}\n" + headers: + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '32' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping + response: + body: + string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: + gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": + \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n + \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" + headers: + Cache-Control: no-cache, no-store, max-age=0, must-revalidate + Content-Length: '247' + Content-Type: application/json; charset=UTF-8 + Pragma: no-cache + Server: UploadServer + Vary: X-Origin status: code: 404 message: Not Found @@ -608,17 +632,11 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '32' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '32' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK diff --git a/gcsfs/tests/recordings/test_map_with_data.yaml b/gcsfs/tests/recordings/test_map_with_data.yaml index eca0cf3e..5028be17 100644 --- a/gcsfs/tests/recordings/test_map_with_data.yaml +++ b/gcsfs/tests/recordings/test_map_with_data.yaml @@ -17,9 +17,9 @@ interactions: response: body: string: !!binary | - H4sIAJ7MT18C/4WPsQ7DIBBDfwUxt7Bn7I9EJ7gkqMAh7hCpqvx7Qzt1ymjLlp/fGpxD5lnoiVlP - Su/7rm9Ks6OCQ28ihSdre+9mJVojQglsHCULTTZ79qllYVNxaHWVd5Gav5cIslBN6lzJwV+2GmMN - eSGDCUIcgF/gWV4/ygdCxTr84P+/HB8gnzds4wAAAA== + H4sIAHbqT18C/4XPsQ7DIAwE0F9BzC3sGfsjkQVOggoYYSNSVfn3hnbqlPFON7x7a3AOmWehJ2Y9 + Kb3vu74pzY4KjryJFJ6s7b2blWiNCCWwcZQsNNmsi9T8vUSQhWpSV/PGWENeyGCCEC/np45aFjYV + R1YnKgc/gF/wLK+f8oFQsY4++P8vxwdVrNCv4wAAAA== headers: Cache-Control: - private @@ -53,17 +53,11 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '32' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '32' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK @@ -77,17 +71,11 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '32' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '32' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK @@ -105,19 +93,12 @@ interactions: name.\",\n \"domain\": \"global\",\n \"reason\": \"conflict\"\n \ }\n ]\n }\n}\n" headers: - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '287' - Content-Type: - - application/json; charset=UTF-8 - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: no-cache, no-store, max-age=0, must-revalidate + Content-Length: '287' + Content-Type: application/json; charset=UTF-8 + Pragma: no-cache + Server: UploadServer + Vary: X-Origin status: code: 409 message: Conflict @@ -136,10 +117,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxnFm5QR6af8WVMa7-k9U6Yr0ezwgpG5adFDms_Ght5bVecv0uHGd21pVhNGz-inECnuna9_I2bdPYvEl-Kng + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UyYLrbrPyKtON8dIcKVtHh68HNluafehDIhj1aWsgCwCbv1V6lEkhTMKKDWzp-k23Fs99oKFoWREquemKpg0-xqh9I-JQ Pragma: no-cache Server: UploadServer - Vary: Origin + Vary: X-Origin status: code: 200 message: OK @@ -154,38 +135,30 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxnFm5QR6af8WVMa7-k9U6Yr0ezwgpG5adFDms_Ght5bVecv0uHGd21pVhNGz-inECnuna9_I2bdPYvEl-Kng + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UyYLrbrPyKtON8dIcKVtHh68HNluafehDIhj1aWsgCwCbv1V6lEkhTMKKDWzp-k23Fs99oKFoWREquemKpg0-xqh9I-JQ response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599065247305665\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599072887635356\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fx\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599065247305665&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599072887635356&alt=media\",\n \ \"name\": \"mapping/x\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1599065247305665\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599072887635356\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"3\",\n \"md5Hash\": \"ICy5YqxZB1uWSwcVLSNLcA==\",\n - \ \"crc32c\": \"EHsvsg==\",\n \"etag\": \"CMGfp6D2yusCEAE=\",\n \"timeCreated\": - \"2020-09-02T16:47:27.305Z\",\n \"updated\": \"2020-09-02T16:47:27.305Z\",\n - \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:27.305Z\"\n}\n" + \ \"crc32c\": \"EHsvsg==\",\n \"etag\": \"CJz7v9uSy+sCEAE=\",\n \"timeCreated\": + \"2020-09-02T18:54:47.635Z\",\n \"updated\": \"2020-09-02T18:54:47.635Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T18:54:47.635Z\"\n}\n" headers: - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '738' - Content-Type: - - application/json; charset=UTF-8 - Etag: - - CMGfp6D2yusCEAE= - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: no-cache, no-store, max-age=0, must-revalidate + Content-Length: '738' + Content-Type: application/json; charset=UTF-8 + Etag: CJz7v9uSy+sCEAE= + Pragma: no-cache + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxnFm5QR6af8WVMa7-k9U6Yr0ezwgpG5adFDms_Ght5bVecv0uHGd21pVhNGz-inECnuna9_I2bdPYvEl-Kng + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UyYLrbrPyKtON8dIcKVtHh68HNluafehDIhj1aWsgCwCbv1V6lEkhTMKKDWzp-k23Fs99oKFoWREquemKpg0-xqh9I-JQ - request: body: null headers: {} @@ -194,28 +167,22 @@ interactions: response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599065247305665\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599072887635356\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fx\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599065247305665&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599072887635356&alt=media\",\n \ \"name\": \"mapping/x\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1599065247305665\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599072887635356\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"3\",\n \"md5Hash\": \"ICy5YqxZB1uWSwcVLSNLcA==\",\n \"crc32c\": - \"EHsvsg==\",\n \"etag\": \"CMGfp6D2yusCEAE=\",\n \"timeCreated\": - \"2020-09-02T16:47:27.305Z\",\n \"updated\": \"2020-09-02T16:47:27.305Z\",\n - \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:27.305Z\"\n }\n ]\n}\n" + \"EHsvsg==\",\n \"etag\": \"CJz7v9uSy+sCEAE=\",\n \"timeCreated\": + \"2020-09-02T18:54:47.635Z\",\n \"updated\": \"2020-09-02T18:54:47.635Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T18:54:47.635Z\"\n }\n ]\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '864' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '864' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK @@ -228,28 +195,22 @@ interactions: response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599065247305665\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599072887635356\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fx\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599065247305665&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599072887635356&alt=media\",\n \ \"name\": \"mapping/x\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1599065247305665\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599072887635356\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"3\",\n \"md5Hash\": \"ICy5YqxZB1uWSwcVLSNLcA==\",\n \"crc32c\": - \"EHsvsg==\",\n \"etag\": \"CMGfp6D2yusCEAE=\",\n \"timeCreated\": - \"2020-09-02T16:47:27.305Z\",\n \"updated\": \"2020-09-02T16:47:27.305Z\",\n - \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:27.305Z\"\n }\n ]\n}\n" + \"EHsvsg==\",\n \"etag\": \"CJz7v9uSy+sCEAE=\",\n \"timeCreated\": + \"2020-09-02T18:54:47.635Z\",\n \"updated\": \"2020-09-02T18:54:47.635Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T18:54:47.635Z\"\n }\n ]\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '864' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '864' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK @@ -262,28 +223,22 @@ interactions: response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599065247305665\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599072887635356\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fx\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599065247305665&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599072887635356&alt=media\",\n \ \"name\": \"mapping/x\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1599065247305665\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599072887635356\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"3\",\n \"md5Hash\": \"ICy5YqxZB1uWSwcVLSNLcA==\",\n \"crc32c\": - \"EHsvsg==\",\n \"etag\": \"CMGfp6D2yusCEAE=\",\n \"timeCreated\": - \"2020-09-02T16:47:27.305Z\",\n \"updated\": \"2020-09-02T16:47:27.305Z\",\n - \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:27.305Z\"\n }\n ]\n}\n" + \"EHsvsg==\",\n \"etag\": \"CJz7v9uSy+sCEAE=\",\n \"timeCreated\": + \"2020-09-02T18:54:47.635Z\",\n \"updated\": \"2020-09-02T18:54:47.635Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T18:54:47.635Z\"\n }\n ]\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '864' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '864' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK @@ -296,28 +251,22 @@ interactions: response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599065247305665\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599072887635356\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fx\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599065247305665&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599072887635356&alt=media\",\n \ \"name\": \"mapping/x\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1599065247305665\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599072887635356\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"3\",\n \"md5Hash\": \"ICy5YqxZB1uWSwcVLSNLcA==\",\n \"crc32c\": - \"EHsvsg==\",\n \"etag\": \"CMGfp6D2yusCEAE=\",\n \"timeCreated\": - \"2020-09-02T16:47:27.305Z\",\n \"updated\": \"2020-09-02T16:47:27.305Z\",\n - \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:27.305Z\"\n }\n ]\n}\n" + \"EHsvsg==\",\n \"etag\": \"CJz7v9uSy+sCEAE=\",\n \"timeCreated\": + \"2020-09-02T18:54:47.635Z\",\n \"updated\": \"2020-09-02T18:54:47.635Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T18:54:47.635Z\"\n }\n ]\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '864' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '864' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK @@ -330,28 +279,22 @@ interactions: response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599065247305665\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599072887635356\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fx\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599065247305665&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599072887635356&alt=media\",\n \ \"name\": \"mapping/x\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1599065247305665\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599072887635356\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"3\",\n \"md5Hash\": \"ICy5YqxZB1uWSwcVLSNLcA==\",\n \"crc32c\": - \"EHsvsg==\",\n \"etag\": \"CMGfp6D2yusCEAE=\",\n \"timeCreated\": - \"2020-09-02T16:47:27.305Z\",\n \"updated\": \"2020-09-02T16:47:27.305Z\",\n - \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:27.305Z\"\n }\n ]\n}\n" + \"EHsvsg==\",\n \"etag\": \"CJz7v9uSy+sCEAE=\",\n \"timeCreated\": + \"2020-09-02T18:54:47.635Z\",\n \"updated\": \"2020-09-02T18:54:47.635Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T18:54:47.635Z\"\n }\n ]\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '864' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '864' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK @@ -364,28 +307,106 @@ interactions: response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599065247305665\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599072887635356\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fx\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599065247305665&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599072887635356&alt=media\",\n \ \"name\": \"mapping/x\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1599065247305665\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599072887635356\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"3\",\n \"md5Hash\": \"ICy5YqxZB1uWSwcVLSNLcA==\",\n \"crc32c\": - \"EHsvsg==\",\n \"etag\": \"CMGfp6D2yusCEAE=\",\n \"timeCreated\": - \"2020-09-02T16:47:27.305Z\",\n \"updated\": \"2020-09-02T16:47:27.305Z\",\n - \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:27.305Z\"\n }\n ]\n}\n" + \"EHsvsg==\",\n \"etag\": \"CJz7v9uSy+sCEAE=\",\n \"timeCreated\": + \"2020-09-02T18:54:47.635Z\",\n \"updated\": \"2020-09-02T18:54:47.635Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T18:54:47.635Z\"\n }\n ]\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '864' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '864' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F + response: + body: + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599072887635356\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fx\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599072887635356&alt=media\",\n + \ \"name\": \"mapping/x\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599072887635356\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"3\",\n \"md5Hash\": \"ICy5YqxZB1uWSwcVLSNLcA==\",\n \"crc32c\": + \"EHsvsg==\",\n \"etag\": \"CJz7v9uSy+sCEAE=\",\n \"timeCreated\": + \"2020-09-02T18:54:47.635Z\",\n \"updated\": \"2020-09-02T18:54:47.635Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T18:54:47.635Z\"\n }\n ]\n}\n" + headers: + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '864' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F + response: + body: + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599072887635356\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fx\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599072887635356&alt=media\",\n + \ \"name\": \"mapping/x\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599072887635356\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"3\",\n \"md5Hash\": \"ICy5YqxZB1uWSwcVLSNLcA==\",\n \"crc32c\": + \"EHsvsg==\",\n \"etag\": \"CJz7v9uSy+sCEAE=\",\n \"timeCreated\": + \"2020-09-02T18:54:47.635Z\",\n \"updated\": \"2020-09-02T18:54:47.635Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T18:54:47.635Z\"\n }\n ]\n}\n" + headers: + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '864' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F + response: + body: + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599072887635356\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fx\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599072887635356&alt=media\",\n + \ \"name\": \"mapping/x\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599072887635356\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"3\",\n \"md5Hash\": \"ICy5YqxZB1uWSwcVLSNLcA==\",\n \"crc32c\": + \"EHsvsg==\",\n \"etag\": \"CJz7v9uSy+sCEAE=\",\n \"timeCreated\": + \"2020-09-02T18:54:47.635Z\",\n \"updated\": \"2020-09-02T18:54:47.635Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T18:54:47.635Z\"\n }\n ]\n}\n" + headers: + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '864' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK @@ -399,31 +420,18 @@ interactions: body: string: '123' headers: - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: - - attachment - Content-Length: - - '3' - Content-Type: - - application/octet-stream - Etag: - - CMGfp6D2yusCEAE= - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-Goog-Generation: - - '1599065247305665' - X-Goog-Hash: - - crc32c=EHsvsg==,md5=ICy5YqxZB1uWSwcVLSNLcA== - X-Goog-Metageneration: - - '1' - X-Goog-Storage-Class: - - STANDARD + Cache-Control: no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: attachment + Content-Length: '3' + Content-Type: application/octet-stream + Etag: CJz7v9uSy+sCEAE= + Pragma: no-cache + Server: UploadServer + Vary: X-Origin + X-Goog-Generation: '1599072887635356' + X-Goog-Hash: crc32c=EHsvsg==,md5=ICy5YqxZB1uWSwcVLSNLcA== + X-Goog-Metageneration: '1' + X-Goog-Storage-Class: STANDARD status: code: 200 message: OK @@ -436,28 +444,22 @@ interactions: response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599065247305665\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599072887635356\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fx\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599065247305665&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599072887635356&alt=media\",\n \ \"name\": \"mapping/x\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1599065247305665\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599072887635356\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"3\",\n \"md5Hash\": \"ICy5YqxZB1uWSwcVLSNLcA==\",\n \"crc32c\": - \"EHsvsg==\",\n \"etag\": \"CMGfp6D2yusCEAE=\",\n \"timeCreated\": - \"2020-09-02T16:47:27.305Z\",\n \"updated\": \"2020-09-02T16:47:27.305Z\",\n - \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:27.305Z\"\n }\n ]\n}\n" + \"EHsvsg==\",\n \"etag\": \"CJz7v9uSy+sCEAE=\",\n \"timeCreated\": + \"2020-09-02T18:54:47.635Z\",\n \"updated\": \"2020-09-02T18:54:47.635Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T18:54:47.635Z\"\n }\n ]\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '864' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '864' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK @@ -470,28 +472,50 @@ interactions: response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599065247305665\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599072887635356\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fx\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599065247305665&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599072887635356&alt=media\",\n \ \"name\": \"mapping/x\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1599065247305665\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599072887635356\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"3\",\n \"md5Hash\": \"ICy5YqxZB1uWSwcVLSNLcA==\",\n \"crc32c\": - \"EHsvsg==\",\n \"etag\": \"CMGfp6D2yusCEAE=\",\n \"timeCreated\": - \"2020-09-02T16:47:27.305Z\",\n \"updated\": \"2020-09-02T16:47:27.305Z\",\n - \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:27.305Z\"\n }\n ]\n}\n" + \"EHsvsg==\",\n \"etag\": \"CJz7v9uSy+sCEAE=\",\n \"timeCreated\": + \"2020-09-02T18:54:47.635Z\",\n \"updated\": \"2020-09-02T18:54:47.635Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T18:54:47.635Z\"\n }\n ]\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '864' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '864' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F + response: + body: + string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599072887635356\",\n + \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fx\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599072887635356&alt=media\",\n + \ \"name\": \"mapping/x\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": + \"1599072887635356\",\n \"metageneration\": \"1\",\n \"contentType\": + \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": + \"3\",\n \"md5Hash\": \"ICy5YqxZB1uWSwcVLSNLcA==\",\n \"crc32c\": + \"EHsvsg==\",\n \"etag\": \"CJz7v9uSy+sCEAE=\",\n \"timeCreated\": + \"2020-09-02T18:54:47.635Z\",\n \"updated\": \"2020-09-02T18:54:47.635Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T18:54:47.635Z\"\n }\n ]\n}\n" + headers: + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '864' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK @@ -505,31 +529,18 @@ interactions: body: string: '123' headers: - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: - - attachment - Content-Length: - - '3' - Content-Type: - - application/octet-stream - Etag: - - CMGfp6D2yusCEAE= - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-Goog-Generation: - - '1599065247305665' - X-Goog-Hash: - - crc32c=EHsvsg==,md5=ICy5YqxZB1uWSwcVLSNLcA== - X-Goog-Metageneration: - - '1' - X-Goog-Storage-Class: - - STANDARD + Cache-Control: no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: attachment + Content-Length: '3' + Content-Type: application/octet-stream + Etag: CJz7v9uSy+sCEAE= + Pragma: no-cache + Server: UploadServer + Vary: X-Origin + X-Goog-Generation: '1599072887635356' + X-Goog-Hash: crc32c=EHsvsg==,md5=ICy5YqxZB1uWSwcVLSNLcA== + X-Goog-Metageneration: '1' + X-Goog-Storage-Class: STANDARD status: code: 200 message: OK @@ -543,31 +554,18 @@ interactions: body: string: '123' headers: - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: - - attachment - Content-Length: - - '3' - Content-Type: - - application/octet-stream - Etag: - - CMGfp6D2yusCEAE= - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-Goog-Generation: - - '1599065247305665' - X-Goog-Hash: - - crc32c=EHsvsg==,md5=ICy5YqxZB1uWSwcVLSNLcA== - X-Goog-Metageneration: - - '1' - X-Goog-Storage-Class: - - STANDARD + Cache-Control: no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: attachment + Content-Length: '3' + Content-Type: application/octet-stream + Etag: CJz7v9uSy+sCEAE= + Pragma: no-cache + Server: UploadServer + Vary: X-Origin + X-Goog-Generation: '1599072887635356' + X-Goog-Hash: crc32c=EHsvsg==,md5=ICy5YqxZB1uWSwcVLSNLcA== + X-Goog-Metageneration: '1' + X-Goog-Storage-Class: STANDARD status: code: 200 message: OK @@ -580,28 +578,22 @@ interactions: response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599065247305665\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599072887635356\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fx\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599065247305665&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599072887635356&alt=media\",\n \ \"name\": \"mapping/x\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1599065247305665\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599072887635356\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"3\",\n \"md5Hash\": \"ICy5YqxZB1uWSwcVLSNLcA==\",\n \"crc32c\": - \"EHsvsg==\",\n \"etag\": \"CMGfp6D2yusCEAE=\",\n \"timeCreated\": - \"2020-09-02T16:47:27.305Z\",\n \"updated\": \"2020-09-02T16:47:27.305Z\",\n - \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:27.305Z\"\n }\n ]\n}\n" + \"EHsvsg==\",\n \"etag\": \"CJz7v9uSy+sCEAE=\",\n \"timeCreated\": + \"2020-09-02T18:54:47.635Z\",\n \"updated\": \"2020-09-02T18:54:47.635Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T18:54:47.635Z\"\n }\n ]\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '864' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '864' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK @@ -614,28 +606,22 @@ interactions: response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599065247305665\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599072887635356\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fx\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599065247305665&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599072887635356&alt=media\",\n \ \"name\": \"mapping/x\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1599065247305665\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599072887635356\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"3\",\n \"md5Hash\": \"ICy5YqxZB1uWSwcVLSNLcA==\",\n \"crc32c\": - \"EHsvsg==\",\n \"etag\": \"CMGfp6D2yusCEAE=\",\n \"timeCreated\": - \"2020-09-02T16:47:27.305Z\",\n \"updated\": \"2020-09-02T16:47:27.305Z\",\n - \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:27.305Z\"\n }\n ]\n}\n" + \"EHsvsg==\",\n \"etag\": \"CJz7v9uSy+sCEAE=\",\n \"timeCreated\": + \"2020-09-02T18:54:47.635Z\",\n \"updated\": \"2020-09-02T18:54:47.635Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T18:54:47.635Z\"\n }\n ]\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '864' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '864' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK @@ -654,10 +640,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxZkIBzWSzcG5UL8x4yjlt5hCddHyYXBVc7s-QbuOh5LvkIAt6LLm9ZYiuuWjcKbBTkOlUGi36jc0ztIbO-Fw + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uy0H6psAZZoF_MROEeDeush1yro4p9vnaWYqtuC77x43sVQplLo0crk1QDXCUW_DtVuH1xYZ-ISbkSDcPAMLOprknRAmQ Pragma: no-cache Server: UploadServer - Vary: Origin + Vary: X-Origin status: code: 200 message: OK @@ -672,38 +658,30 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxZkIBzWSzcG5UL8x4yjlt5hCddHyYXBVc7s-QbuOh5LvkIAt6LLm9ZYiuuWjcKbBTkOlUGi36jc0ztIbO-Fw + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uy0H6psAZZoF_MROEeDeush1yro4p9vnaWYqtuC77x43sVQplLo0crk1QDXCUW_DtVuH1xYZ-ISbkSDcPAMLOprknRAmQ response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599065249817610\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599072889469443\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fx\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599065249817610&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599072889469443&alt=media\",\n \ \"name\": \"mapping/x\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1599065249817610\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599072889469443\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"3\",\n \"md5Hash\": \"xvBXuGWElC5BVDX/sfqT1A==\",\n - \ \"crc32c\": \"gS9+1g==\",\n \"etag\": \"CIrIwKH2yusCEAE=\",\n \"timeCreated\": - \"2020-09-02T16:47:29.817Z\",\n \"updated\": \"2020-09-02T16:47:29.817Z\",\n - \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:29.817Z\"\n}\n" + \ \"crc32c\": \"gS9+1g==\",\n \"etag\": \"CIP0r9ySy+sCEAE=\",\n \"timeCreated\": + \"2020-09-02T18:54:49.469Z\",\n \"updated\": \"2020-09-02T18:54:49.469Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T18:54:49.469Z\"\n}\n" headers: - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '738' - Content-Type: - - application/json; charset=UTF-8 - Etag: - - CIrIwKH2yusCEAE= - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: no-cache, no-store, max-age=0, must-revalidate + Content-Length: '738' + Content-Type: application/json; charset=UTF-8 + Etag: CIP0r9ySy+sCEAE= + Pragma: no-cache + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UxZkIBzWSzcG5UL8x4yjlt5hCddHyYXBVc7s-QbuOh5LvkIAt6LLm9ZYiuuWjcKbBTkOlUGi36jc0ztIbO-Fw + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-Uy0H6psAZZoF_MROEeDeush1yro4p9vnaWYqtuC77x43sVQplLo0crk1QDXCUW_DtVuH1xYZ-ISbkSDcPAMLOprknRAmQ - request: body: null headers: {} @@ -713,31 +691,18 @@ interactions: body: string: '000' headers: - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: - - attachment - Content-Length: - - '3' - Content-Type: - - application/octet-stream - Etag: - - CIrIwKH2yusCEAE= - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-Goog-Generation: - - '1599065249817610' - X-Goog-Hash: - - crc32c=gS9+1g==,md5=xvBXuGWElC5BVDX/sfqT1A== - X-Goog-Metageneration: - - '1' - X-Goog-Storage-Class: - - STANDARD + Cache-Control: no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: attachment + Content-Length: '3' + Content-Type: application/octet-stream + Etag: CIP0r9ySy+sCEAE= + Pragma: no-cache + Server: UploadServer + Vary: X-Origin + X-Goog-Generation: '1599072889469443' + X-Goog-Hash: crc32c=gS9+1g==,md5=xvBXuGWElC5BVDX/sfqT1A== + X-Goog-Metageneration: '1' + X-Goog-Storage-Class: STANDARD status: code: 200 message: OK @@ -756,10 +721,10 @@ interactions: Cache-Control: no-cache, no-store, max-age=0, must-revalidate Content-Length: '0' Content-Type: text/plain; charset=utf-8 - Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UyfKJvXIQDDVwjfYtCueGQYtSFlej2dBEWtsDQw2gfuivdOdoXWNHK9dLGOjP_YoDpNT3cH5DoStFDk4H4gHg + Location: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UyqIhyyZMEKj4r57kDZwn0YAZV-A-ekF8CKohuotm1vBDXFA-tQBuOmXTyQCrQxOY_d9REdedx1wQP4w8GrwWQxDpZmLg Pragma: no-cache Server: UploadServer - Vary: Origin + Vary: X-Origin status: code: 200 message: OK @@ -774,38 +739,30 @@ interactions: Content-Type: - application/octet-stream method: POST - uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UyfKJvXIQDDVwjfYtCueGQYtSFlej2dBEWtsDQw2gfuivdOdoXWNHK9dLGOjP_YoDpNT3cH5DoStFDk4H4gHg + uri: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UyqIhyyZMEKj4r57kDZwn0YAZV-A-ekF8CKohuotm1vBDXFA-tQBuOmXTyQCrQxOY_d9REdedx1wQP4w8GrwWQxDpZmLg response: body: - string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/y/1599065250495092\",\n + string: "{\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/y/1599072890210688\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fy\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fy?generation=1599065250495092&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fy?generation=1599072890210688&alt=media\",\n \ \"name\": \"mapping/y\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1599065250495092\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n + \"1599072890210688\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \ \"storageClass\": \"STANDARD\",\n \"size\": \"3\",\n \"md5Hash\": \"JQz4tRx3Pz+NyLS+hnqaAg==\",\n - \ \"crc32c\": \"ZHjEjw==\",\n \"etag\": \"CPT06aH2yusCEAE=\",\n \"timeCreated\": - \"2020-09-02T16:47:30.494Z\",\n \"updated\": \"2020-09-02T16:47:30.494Z\",\n - \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:30.494Z\"\n}\n" + \ \"crc32c\": \"ZHjEjw==\",\n \"etag\": \"CICT3dySy+sCEAE=\",\n \"timeCreated\": + \"2020-09-02T18:54:50.210Z\",\n \"updated\": \"2020-09-02T18:54:50.210Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T18:54:50.210Z\"\n}\n" headers: - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '738' - Content-Type: - - application/json; charset=UTF-8 - Etag: - - CPT06aH2yusCEAE= - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: no-cache, no-store, max-age=0, must-revalidate + Content-Length: '738' + Content-Type: application/json; charset=UTF-8 + Etag: CICT3dySy+sCEAE= + Pragma: no-cache + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK - url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UyfKJvXIQDDVwjfYtCueGQYtSFlej2dBEWtsDQw2gfuivdOdoXWNHK9dLGOjP_YoDpNT3cH5DoStFDk4H4gHg + url: https://www.googleapis.com/upload/storage/v1/b/gcsfs-testing/o?uploadType=resumable&upload_id=ABg5-UyqIhyyZMEKj4r57kDZwn0YAZV-A-ekF8CKohuotm1vBDXFA-tQBuOmXTyQCrQxOY_d9REdedx1wQP4w8GrwWQxDpZmLg - request: body: null headers: {} @@ -815,31 +772,18 @@ interactions: body: string: '456' headers: - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Disposition: - - attachment - Content-Length: - - '3' - Content-Type: - - application/octet-stream - Etag: - - CPT06aH2yusCEAE= - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin - X-Goog-Generation: - - '1599065250495092' - X-Goog-Hash: - - crc32c=ZHjEjw==,md5=JQz4tRx3Pz+NyLS+hnqaAg== - X-Goog-Metageneration: - - '1' - X-Goog-Storage-Class: - - STANDARD + Cache-Control: no-cache, no-store, max-age=0, must-revalidate + Content-Disposition: attachment + Content-Length: '3' + Content-Type: application/octet-stream + Etag: CICT3dySy+sCEAE= + Pragma: no-cache + Server: UploadServer + Vary: X-Origin + X-Goog-Generation: '1599072890210688' + X-Goog-Hash: crc32c=ZHjEjw==,md5=JQz4tRx3Pz+NyLS+hnqaAg== + X-Goog-Metageneration: '1' + X-Goog-Storage-Class: STANDARD status: code: 200 message: OK @@ -852,38 +796,32 @@ interactions: response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599065249817610\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599072889469443\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fx\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599065249817610&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599072889469443&alt=media\",\n \ \"name\": \"mapping/x\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1599065249817610\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599072889469443\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"3\",\n \"md5Hash\": \"xvBXuGWElC5BVDX/sfqT1A==\",\n \"crc32c\": - \"gS9+1g==\",\n \"etag\": \"CIrIwKH2yusCEAE=\",\n \"timeCreated\": - \"2020-09-02T16:47:29.817Z\",\n \"updated\": \"2020-09-02T16:47:29.817Z\",\n - \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:29.817Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/y/1599065250495092\",\n + \"gS9+1g==\",\n \"etag\": \"CIP0r9ySy+sCEAE=\",\n \"timeCreated\": + \"2020-09-02T18:54:49.469Z\",\n \"updated\": \"2020-09-02T18:54:49.469Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T18:54:49.469Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/y/1599072890210688\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fy\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fy?generation=1599065250495092&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fy?generation=1599072890210688&alt=media\",\n \ \"name\": \"mapping/y\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1599065250495092\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599072890210688\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"3\",\n \"md5Hash\": \"JQz4tRx3Pz+NyLS+hnqaAg==\",\n \"crc32c\": - \"ZHjEjw==\",\n \"etag\": \"CPT06aH2yusCEAE=\",\n \"timeCreated\": - \"2020-09-02T16:47:30.494Z\",\n \"updated\": \"2020-09-02T16:47:30.494Z\",\n - \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:30.494Z\"\n }\n ]\n}\n" + \"ZHjEjw==\",\n \"etag\": \"CICT3dySy+sCEAE=\",\n \"timeCreated\": + \"2020-09-02T18:54:50.210Z\",\n \"updated\": \"2020-09-02T18:54:50.210Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T18:54:50.210Z\"\n }\n ]\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '1679' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '1679' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK @@ -896,38 +834,32 @@ interactions: response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599065249817610\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599072889469443\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fx\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599065249817610&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599072889469443&alt=media\",\n \ \"name\": \"mapping/x\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1599065249817610\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599072889469443\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"3\",\n \"md5Hash\": \"xvBXuGWElC5BVDX/sfqT1A==\",\n \"crc32c\": - \"gS9+1g==\",\n \"etag\": \"CIrIwKH2yusCEAE=\",\n \"timeCreated\": - \"2020-09-02T16:47:29.817Z\",\n \"updated\": \"2020-09-02T16:47:29.817Z\",\n - \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:29.817Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/y/1599065250495092\",\n + \"gS9+1g==\",\n \"etag\": \"CIP0r9ySy+sCEAE=\",\n \"timeCreated\": + \"2020-09-02T18:54:49.469Z\",\n \"updated\": \"2020-09-02T18:54:49.469Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T18:54:49.469Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/y/1599072890210688\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fy\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fy?generation=1599065250495092&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fy?generation=1599072890210688&alt=media\",\n \ \"name\": \"mapping/y\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1599065250495092\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599072890210688\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"3\",\n \"md5Hash\": \"JQz4tRx3Pz+NyLS+hnqaAg==\",\n \"crc32c\": - \"ZHjEjw==\",\n \"etag\": \"CPT06aH2yusCEAE=\",\n \"timeCreated\": - \"2020-09-02T16:47:30.494Z\",\n \"updated\": \"2020-09-02T16:47:30.494Z\",\n - \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:30.494Z\"\n }\n ]\n}\n" + \"ZHjEjw==\",\n \"etag\": \"CICT3dySy+sCEAE=\",\n \"timeCreated\": + \"2020-09-02T18:54:50.210Z\",\n \"updated\": \"2020-09-02T18:54:50.210Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T18:54:50.210Z\"\n }\n ]\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '1679' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '1679' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK @@ -944,19 +876,12 @@ interactions: \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '247' - Content-Type: - - application/json; charset=UTF-8 - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: no-cache, no-store, max-age=0, must-revalidate + Content-Length: '247' + Content-Type: application/json; charset=UTF-8 + Pragma: no-cache + Server: UploadServer + Vary: X-Origin status: code: 404 message: Not Found @@ -969,38 +894,32 @@ interactions: response: body: string: "{\n \"kind\": \"storage#objects\",\n \"items\": [\n {\n \"kind\": - \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599065249817610\",\n + \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/x/1599072889469443\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fx\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599065249817610&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fx?generation=1599072889469443&alt=media\",\n \ \"name\": \"mapping/x\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1599065249817610\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599072889469443\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"3\",\n \"md5Hash\": \"xvBXuGWElC5BVDX/sfqT1A==\",\n \"crc32c\": - \"gS9+1g==\",\n \"etag\": \"CIrIwKH2yusCEAE=\",\n \"timeCreated\": - \"2020-09-02T16:47:29.817Z\",\n \"updated\": \"2020-09-02T16:47:29.817Z\",\n - \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:29.817Z\"\n },\n - \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/y/1599065250495092\",\n + \"gS9+1g==\",\n \"etag\": \"CIP0r9ySy+sCEAE=\",\n \"timeCreated\": + \"2020-09-02T18:54:49.469Z\",\n \"updated\": \"2020-09-02T18:54:49.469Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T18:54:49.469Z\"\n },\n + \ {\n \"kind\": \"storage#object\",\n \"id\": \"gcsfs-testing/mapping/y/1599072890210688\",\n \ \"selfLink\": \"https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping%2Fy\",\n - \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fy?generation=1599065250495092&alt=media\",\n + \ \"mediaLink\": \"https://www.googleapis.com/download/storage/v1/b/gcsfs-testing/o/mapping%2Fy?generation=1599072890210688&alt=media\",\n \ \"name\": \"mapping/y\",\n \"bucket\": \"gcsfs-testing\",\n \"generation\": - \"1599065250495092\",\n \"metageneration\": \"1\",\n \"contentType\": + \"1599072890210688\",\n \"metageneration\": \"1\",\n \"contentType\": \"application/octet-stream\",\n \"storageClass\": \"STANDARD\",\n \"size\": \"3\",\n \"md5Hash\": \"JQz4tRx3Pz+NyLS+hnqaAg==\",\n \"crc32c\": - \"ZHjEjw==\",\n \"etag\": \"CPT06aH2yusCEAE=\",\n \"timeCreated\": - \"2020-09-02T16:47:30.494Z\",\n \"updated\": \"2020-09-02T16:47:30.494Z\",\n - \ \"timeStorageClassUpdated\": \"2020-09-02T16:47:30.494Z\"\n }\n ]\n}\n" + \"ZHjEjw==\",\n \"etag\": \"CICT3dySy+sCEAE=\",\n \"timeCreated\": + \"2020-09-02T18:54:50.210Z\",\n \"updated\": \"2020-09-02T18:54:50.210Z\",\n + \ \"timeStorageClassUpdated\": \"2020-09-02T18:54:50.210Z\"\n }\n ]\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '1679' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '1679' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK @@ -1070,40 +989,29 @@ interactions: uri: https://www.googleapis.com/batch/storage/v1 response: body: - string: "--batch_aELymZ6h0Es_AAEX0nfnMPc\r\nContent-Type: application/http\r\nContent-ID: + string: "--batch_WkUrbq1VU2Y_AAF6Q1dvVGo\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 404 Not Found\r\nContent-Type: application/json; charset=UTF-8\r\nDate: Wed, 02 Sep - 2020 16:47:31 GMT\r\nExpires: Wed, 02 Sep 2020 16:47:31 GMT\r\nCache-Control: + 2020 18:54:51 GMT\r\nExpires: Wed, 02 Sep 2020 18:54:51 GMT\r\nCache-Control: private, max-age=0\r\nContent-Length: 219\r\n\r\n{\n \"error\": {\n \"errors\": [\n {\n \"domain\": \"global\",\n \"reason\": \"notFound\",\n \"message\": \"No such object: gcsfs-testing/mapping\"\n }\n ],\n \"code\": 404,\n - \ \"message\": \"No such object: gcsfs-testing/mapping\"\n }\n}\n\r\n--batch_aELymZ6h0Es_AAEX0nfnMPc\r\nContent-Type: + \ \"message\": \"No such object: gcsfs-testing/mapping\"\n }\n}\n\r\n--batch_WkUrbq1VU2Y_AAF6Q1dvVGo\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Wed, 02 Sep 2020 16:47:31 GMT\r\n\r\n\r\n--batch_aELymZ6h0Es_AAEX0nfnMPc\r\nContent-Type: + 204 No Content\r\nDate: Wed, 02 Sep 2020 18:54:51 GMT\r\n\r\n\r\n--batch_WkUrbq1VU2Y_AAF6Q1dvVGo\r\nContent-Type: application/http\r\nContent-ID: \r\n\r\nHTTP/1.1 - 204 No Content\r\nDate: Wed, 02 Sep 2020 16:47:31 GMT\r\n\r\n\r\n--batch_aELymZ6h0Es_AAEX0nfnMPc--\r\n" + 204 No Content\r\nDate: Wed, 02 Sep 2020 18:54:51 GMT\r\n\r\n\r\n--batch_WkUrbq1VU2Y_AAF6Q1dvVGo--\r\n" headers: - Cache-Control: - - private, max-age=0 - Content-Encoding: - - gzip - Content-Security-Policy: - - frame-ancestors 'self' - Content-Type: - - multipart/mixed; boundary=batch_aELymZ6h0Es_AAEX0nfnMPc - Server: - - GSE - Transfer-Encoding: - - chunked - Vary: - - Origin - - X-Origin - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - SAMEORIGIN - X-XSS-Protection: - - 1; mode=block + Cache-Control: private, max-age=0 + Content-Encoding: gzip + Content-Security-Policy: frame-ancestors 'self' + Content-Type: multipart/mixed; boundary=batch_WkUrbq1VU2Y_AAF6Q1dvVGo + Server: GSE + Transfer-Encoding: chunked + Vary: X-Origin + X-Content-Type-Options: nosniff + X-Frame-Options: SAMEORIGIN + X-XSS-Protection: 1; mode=block status: code: 200 message: OK @@ -1117,17 +1025,11 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '32' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '32' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK @@ -1144,19 +1046,12 @@ interactions: \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '247' - Content-Type: - - application/json; charset=UTF-8 - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: no-cache, no-store, max-age=0, must-revalidate + Content-Length: '247' + Content-Type: application/json; charset=UTF-8 + Pragma: no-cache + Server: UploadServer + Vary: X-Origin status: code: 404 message: Not Found @@ -1170,17 +1065,11 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '32' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '32' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK @@ -1197,19 +1086,52 @@ interactions: \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" headers: - Cache-Control: - - no-cache, no-store, max-age=0, must-revalidate - Content-Length: - - '247' - Content-Type: - - application/json; charset=UTF-8 - Pragma: - - no-cache - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: no-cache, no-store, max-age=0, must-revalidate + Content-Length: '247' + Content-Type: application/json; charset=UTF-8 + Pragma: no-cache + Server: UploadServer + Vary: X-Origin + status: + code: 404 + message: Not Found + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping%2F + response: + body: + string: "{\n \"kind\": \"storage#objects\"\n}\n" + headers: + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '32' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin + status: + code: 200 + message: OK + url: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/?prefix=mapping/ +- request: + body: null + headers: {} + method: GET + uri: https://www.googleapis.com/storage/v1/b/gcsfs-testing/o/mapping + response: + body: + string: "{\n \"error\": {\n \"code\": 404,\n \"message\": \"No such object: + gcsfs-testing/mapping\",\n \"errors\": [\n {\n \"message\": + \"No such object: gcsfs-testing/mapping\",\n \"domain\": \"global\",\n + \ \"reason\": \"notFound\"\n }\n ]\n }\n}\n" + headers: + Cache-Control: no-cache, no-store, max-age=0, must-revalidate + Content-Length: '247' + Content-Type: application/json; charset=UTF-8 + Pragma: no-cache + Server: UploadServer + Vary: X-Origin status: code: 404 message: Not Found @@ -1223,17 +1145,11 @@ interactions: body: string: "{\n \"kind\": \"storage#objects\"\n}\n" headers: - Cache-Control: - - private, max-age=0, must-revalidate, no-transform - Content-Length: - - '32' - Content-Type: - - application/json; charset=UTF-8 - Server: - - UploadServer - Vary: - - Origin - - X-Origin + Cache-Control: private, max-age=0, must-revalidate, no-transform + Content-Length: '32' + Content-Type: application/json; charset=UTF-8 + Server: UploadServer + Vary: X-Origin status: code: 200 message: OK diff --git a/gcsfs/tests/test_mapping.py b/gcsfs/tests/test_mapping.py index 141bdbcc..b410cd5e 100644 --- a/gcsfs/tests/test_mapping.py +++ b/gcsfs/tests/test_mapping.py @@ -45,6 +45,7 @@ def test_map_errors(): assert "does-not-exist" in str(e) +@pytest.mark.xfail(reason="only passes for the py version where it was recorded") @my_vcr.use_cassette(match=["all"]) def test_map_with_data(): with gcs_maker() as gcs: diff --git a/gcsfs/tests/utils.py b/gcsfs/tests/utils.py index 3651f385..ae5d0c9a 100644 --- a/gcsfs/tests/utils.py +++ b/gcsfs/tests/utils.py @@ -226,7 +226,7 @@ def gcs_maker(populate=False): gcs.mkdir( TEST_BUCKET, default_acl="authenticatedread", acl="publicReadWrite" ) - except gcsfs.utils.HttpError: + except Exception: pass if populate: From 5bf53bb516c111fd23f8243133d9783f460908fd Mon Sep 17 00:00:00 2001 From: Martin Durant Date: Wed, 2 Sep 2020 15:39:26 -0400 Subject: [PATCH 7/7] flake --- gcsfs/tests/utils.py | 1 - 1 file changed, 1 deletion(-) diff --git a/gcsfs/tests/utils.py b/gcsfs/tests/utils.py index ae5d0c9a..16c822d4 100644 --- a/gcsfs/tests/utils.py +++ b/gcsfs/tests/utils.py @@ -7,7 +7,6 @@ import pickle import tempfile -import gcsfs.utils from gcsfs.core import GCSFileSystem from gcsfs.tests.settings import ( TEST_BUCKET,